android – ContentObserver手动更新联系人

前端之家收集整理的这篇文章主要介绍了android – ContentObserver手动更新联系人前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经从服务中注册了一个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

它的效率更高一点.

原文链接:https://www.f2er.com/android/314904.html

猜你在找的Android相关文章