Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 某些操作未调用自定义ContactsDirectoryProvider_Android_Android Contentprovider_Android Contacts - Fatal编程技术网

Android 某些操作未调用自定义ContactsDirectoryProvider

Android 某些操作未调用自定义ContactsDirectoryProvider,android,android-contentprovider,android-contacts,Android,Android Contentprovider,Android Contacts,我已经实现了自定义ContactsDirectoryProvider,当联系人或拨号程序应用程序使用形式的URI搜索联系人时,它可以正常工作content://com.android.contacts/data/phones/filter 但是,当InCalUI或CallLog尝试检索联系人信息时 URI内容:/contacts/phone\u lookup未调用my provider的查询方法 有什么建议吗 附言。 我没有实现单独的同步提供程序可能这就是问题所在?我们正在使用的一种解决方法是使

我已经实现了自定义ContactsDirectoryProvider,当联系人或拨号程序应用程序使用形式的URI搜索联系人时,它可以正常工作content://com.android.contacts/data/phones/filter

但是,当InCalUI或CallLog尝试检索联系人信息时 URI内容:/contacts/phone\u lookup未调用my provider的查询方法

有什么建议吗

附言。
我没有实现单独的同步提供程序可能这就是问题所在?

我们正在使用的一种解决方法是使用广播接收器收听传入呼叫:

<receiver android:name=".domain.callerid.CallerIdBroadcastReceiver">
    <intent-filter>
        <action android:name="android.intent.action.PHONE_STATE" />
    </intent-filter>
</receiver>
(这需要从Android Pie开始的读取调用日志权限)


然后,您可以使用传入的号码匹配一个人,并显示祝酒词和/或通知

我也遇到过这种情况。手机查找URI在Nexus 5x(emulator)、像素2XL、LG 6上运行良好。然而,当我在三星S6或Note 8上试用时,手机的查找功能从未被调用。它可以用于过滤,但查询从来不会像在其他设备上那样被调用以进行电话查询(传入呼叫或呼叫历史记录)。你找到解决办法了吗?没有。。。我放弃了,选择了三星设备的toast callerId方法
intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER)