动态添加联系人/覆盖ContactsContract.Contacts.query()函数

时间:2016-10-20 14:36:14

标签: android android-contentprovider contacts android-contacts android-contact-mimetype

我想写一个扩展常规联系人列表的应用/服务。 如果用户搜索联系人(使用本机联系人应用程序或甚至使用本机联系人查询的自定义联系人)。 该应用程序将按其应有的方式搜索联系人。此外,它将查询Web服务的结果,并根据基本查询+ Web服务结果返回结果(不保存其他联系人,或稍后删除任何添加的联系人)。

从阅读中我认为如果我可以覆盖系统的ContactsContract.Contacts查询功能,我就可以完成这样的任务。但我不知道如何为所有应用程序覆盖它的行为,或者是否有更简单的方法来实现它(一些监听器,或绑定到查询功能)。

感谢。

1 个答案:

答案 0 :(得分:0)

显然除非你正在构建自己的rom,否则这是不可能的,在这种情况下你可能需要修改原生联系人应用程序的ContentProvider

可以做的是提供替代ContentProvider,在查询时,会从系统的Contacts ContentProvider获得结果,然后添加在将它们返回到查询应用程序之前,无论你想要什么结果。

请参阅此处了解如何构建公开ContentProviderhttps://developer.android.com/guide/topics/providers/content-provider-creating.html