我已经实现了自定义ContactsDirectoryProvider,当Contacts或Dialer应用程序使用表单内容的URI搜索联系人时,它可以正常工作://com.android.contacts/data/phones/filter
但是,当InCallUI或CallLog尝试使用URis内容检索联系信息时:/ contacts / phone_lookup不会调用我的提供者的查询方法。
任何建议请....
附:我没有实现单独的同步提供程序可能这是问题吗?
我们使用的解决方法是使用BroadcastReceiver来侦听传入的调用:
<receiver android:name=".domain.callerid.CallerIdBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
然后在BroadcastReceiver的onReceive方法中,您可以获取传入的数字:
intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER)
(这需要以Android Pie开头的READ_CALL_LOG权限)
然后,您可以使用收到的号码来匹配某个人并显示祝酒和/或通知