【发布时间】:2010-02-03 16:52:00
【问题描述】:
当 Android 手机接到电话时,它会自动检查该电话是否存在于自己的联系人数据库中。我想知道是否有一种简单的方法可以访问该信息。我有一个PhoneStateListener 在响铃状态下执行某些操作,我想检查来电者是否在联系人列表中。
有没有办法在不通过联系人ContentProvider 的情况下做到这一点?
【问题讨论】:
-
请问您为什么不想通过内容提供商来做?监听来电,检索号码,然后检查内容提供程序中的号码是否合乎逻辑?
-
你说得对,这将是一个不错的方法,但我想避免它,因为手机“类型”的复杂性。由于用户可以将联系人的电话号码放入任何类别(例如“工作”、“其他”甚至自定义类别),因此尝试搜索所有字段以查找匹配项变得很难看。此外,还需要以标准方式格式化数字。我错过了一些非常简单的东西吗?如果没有,我宁愿完全远离那个烂摊子。
-
下面 Christopher 的代码应该可以正常工作,我使用类似的方法来检查传出号码,它会检查所有字段,不会在处理过程中出现任何延迟
标签: android contacts telephony