ユーザーが連絡先リストに新しい連絡先を追加するたびに知る方法 (意図など) があるかどうか疑問に思っていました。ありがとう!
質問する
521 次
1 に答える
2
ContentObserverを使用して、コンテンツ プロバイダーで変更が行われたときに通知を受け取ります。連絡帳の変更については、次の方法で知ることができます。
コンテンツ オブザーバーを宣言する
private final ContentObserver contentObserver = new ContentObserver(null) {
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
perform your task;
}
}
オブザーバーを android.provider.ContactsContract.Contacts.CONTENT_URI に登録して、連絡先の変更について通知を受ける
this.getApplicationContext()
.getContentResolver()
.registerContentObserver(
android.provider.ContactsContract.Contacts.CONTENT_URI,
true, contentObserver);
onDestroy で登録解除することを忘れないでください
this.getApplicationContext().getContentResolver()
.unregisterContentObserver(contentObserver);
システムの電話帳に変更がある場合は常に、onChange コールバック メソッドを介して通知されます。
ただし、問題の 1 つは、追加だけでなく、変更 (編集/削除) についても通知されることです。そのための特定の簡単な方法(連絡先を自分で追跡できる最悪の方法として)があるかどうかはわかりません.
于 2013-04-21T17:36:57.890 に答える