2

次のコードを試しています:

private class NativeContentObserver extends ContentObserver  {
      public NativeContentObserver() {
         super(null);
      }

      @Override
      public void onChange(boolean selfChange, Uri uri) {
         super.onChange(selfChange, uri);
         Log.i(TAG, "uri is "+uri);
}

{
NativeContentObserver contentObserver = new NativeContentObserver();
mContext.getContentResolver().registerContentObserver(
           ContactsContract.Contacts.CONTENT_URI, true, contentObserver);
}

このコードを実行して連絡先を編集すると、

uri は content://com.android.contacts です

URI で個々の連絡先の ID を取得できないのはなぜですか? SMS オブザーバーを試してみると、そこに ID を含む正しい URI が得られます。ここに欠けているものはありますか?これは、Samsung S3 ハンドセットにあります。

4

1 に答える 1

0

おそらく、プロバイダーの更新メソッドが、フィルター処理された URI ではなく、完全な URI を使用して notifyChange(uri) を呼び出すためです。この場合、ContactsContract.Contacts は廃止されたことを意味します。代替案を探す

于 2013-03-25T09:44:38.893 に答える