我正在制作一个管理联系人的应用。在大多数手机上,一切都正常,但在一些小米设备上,当尝试删除联系人时会出现错误。
这是我的删除联系人的代码 -
final ArrayList ops = new ArrayList();
final ContentResolver cr = getContext().getContentResolver();
ops.add(ContentProviderOperation
.newDelete(ContactsContract.RawContacts.CONTENT_URI)
.withSelection(ContactsContract.RawContacts.CONTACT_ID + " = ?",
new String[]{contact.getContactId()})
.build());
try {
cr.applyBatch(ContactsContract.AUTHORITY, ops);
LogUtil.log(getString(R.string.log_msg_delete, contact.getDisplayName()));
} catch (RemoteException e) {
e.printStackTrace();
} catch (OperationApplicationException e) {
e.printStackTrace();
}
我在清单文件中拥有权限 -
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
并在运行时请求它们。
这个问题只在一些小米设备上出现。在其他制造商的设备上,一切都正常。另外,我从应用商店检查了其他应用,在一些联系人管理器中,这个问题并不存在,因此肯定有一种方法可以解决它。
adb logcat
并分享一下吗?应该会显示权限错误或类似的内容。 - Always Learning