我正在制作一个用于管理联系人的应用程序。在大多数手机上,一切正常,但在某些小米设备上,尝试删除联系人时出现错误。
这是我删除联系人的代码-
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" />
并在运行时询问它们。
该问题仅出现在部分小米设备上。在其他制造商上,一切正常。另外,我检查了 Play 商店的其他应用程序,并且在某些联系人管理器中不存在此问题,因此肯定有办法解决它
