我正在尝试以下代码:
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是内容://com.android.contacts
为什么我没有在URI中获取个人联系人的ID?如果我尝试使用SMS观察者,我会得到包含ID的正确URI。 我在这里缺少什么?这是在三星S3手机上。
答案 0 :(得分:0)
很可能是因为提供者更新方法使用完整的URI调用notifyChange(uri),而不是使用过滤的方法。如果是这种情况,则表示不推荐使用ContactsContract.Contacts。寻找替代品