android – ContentObserver手动更新联系人

android – ContentObserver手动更新联系人,第1张

概述我已经从服务中注册了一个ContentObserver,当电话有更新时,我会得到onchange()函数,如电话或联系人更新.但我希望只在发生添加,更新或删除时调用onchange()函数.但我不希望呼叫是传入还是传出.那么有人能告诉我哪些URI可以在contentObserver中注册?我的代码在这里 getContentResolver().registerContentObserver(Co 我已经从服务中注册了一个ContentObserver,当电话有更新时,我会得到onchange()函数,如电话或联系人更新.但我希望只在发生添加,更新或删除时调用onchange()函数.但我不希望呼叫是传入还是传出.那么有人能告诉我哪些URI可以在contentObserver中注册?我的代码在这里
getContentResolver().registerContentObserver(ContactsContract.Contacts.CONTENT_URI,true,new Contact_change());

和Contact_change.java类一样

public class Contact_change extends ContentObserver{  public Contact_service() {    super(null);  }  @OverrIDe  public voID onChange(boolean selfChange){    Log.i("contact_service","onchange");    Super.onChange(selfChange);   } @OverrIDe    public boolean deliverSelfNotifications() {  return true;  }}

编辑:
我还有一个问题是,如果我在联系中进行更改后停止服务,那么也会调用onchange()函数.那么我怎么能停止它或取消注册contentobserver.

解决方法 我使用了如 here所述的ContactsContract.Contacts.CONTENT_VCARD_URI.

你也可以设置一个像here那样的threshold_time

它的效率更高一点.

总结

以上是内存溢出为你收集整理的android – ContentObserver手动更新联系人全部内容,希望文章能够帮你解决android – ContentObserver手动更新联系人所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1135450.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存