【发布时间】:2016-10-11 06:34:40
【问题描述】:
我正在尝试以编程方式获取新添加的联系人的 contactId。联系人已成功添加并从 ContentProviderResult[] 获取 contactID 但我得到的 contactId 不是正确的。我也看过 this 和 this 的回答,但 contactId 不是正确的。这是我的代码
ArrayList<ContentProviderOperation> contentProviderOperation = new ArrayList<>();
......
......
ContentProviderResult[] results = getActivity().getContentResolver().applyBatch(ContactsContract.AUTHORITY, contentProviderOperation);
long contactId = ContentUris.parseId(results[0].uri);
我也试过下面的代码:
ContentProviderResult[] results = getActivity().getContentResolver().applyBatch(ContactsContract.AUTHORITY, contentProviderOperation);
Uri myContactUri = results[0].uri;
int lastSlash = myContactUri.toString().lastIndexOf("/");
int length = myContactUri.toString().length();
int contactID = Integer.parseInt((String) myContactUri.toString().subSequence(lastSlash+1, length));
但我得到的 contactId 不是正确的。如果我出错了,请纠正我。提前致谢。
【问题讨论】:
标签: android android-contentprovider contacts