サービスからContentObserver
を登録しました。電話または連絡先の更新のような電話で更新がある場合、onchange()
機能を取得します。しかし、私はonchange()
関数を追加、更新、または削除が発生したときにのみ呼び出されるようにしたい。しかし、通話が着信または発信のときは嫌です。だから誰でも私にURI
contentObserver
に登録できることを教えてもらえますか?私のコードはここに連絡先更新の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
。
私はこれが可能だとは思いません。最後の呼び出しの時間は連絡先のフィールドなので、変更すると連絡先が変更されます – njzk2
連絡先の変更を通知する方法は他にもありますか?連絡先をアプリケーションと同期させたいからです。 – Nency
あなたが必要としないイベントのための余分な通知を受け取ったら、本当に問題ではないと思います。 – njzk2