これを試してください。
クラスを削除します。
public static void deleteContact(ContentResolver contactHelper, String
number) {
ArrayList<ContentProviderOperation> ops = new
ArrayList<ContentProviderOperation>();
String[] args = new String[] { String.valueOf(getContactID(contactHelper,
number))};
ops.add(ContentProviderOperatio.newDelete(RawContacts.CONTENT_URI).withSelecti
on(RawContacts.CONTACT_ID + "=?", args).build());
try {
contactHelper.applyBatch(ContactsContract.AUTHORITY, ops);
} catch (RemoteException e) {
e.printStackTrace();
} catch (OperationApplicationException e) {
e.printStackTrace();
}
}
とのgetIdクラス
private static long getContactID(ContentResolver contactHelper,String
number) {
Uri contactUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI,
Uri.encode(number));
String[] projection = { PhoneLookup._ID };
Cursor cursor = null;
try {
cursor = contactHelper.query(contactUri, projection, null, null,null);
if (cursor.moveToFirst()) {
int personID = cursor.getColumnIndex(PhoneLookup._ID);
return cursor.getLong(personID);
}
return -1;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (cursor != null) {
cursor.close();
cursor = null;
}
}
return -1;
}
総ログ猫 –
を投稿https://stackoverflow.com/questions/527216/how-to-remove-a-contactこのポストからのソリューションを使用してみてください-programmatically-in-android – Ivan86
これと他のstackoverflow投稿から他の解決策を確認してもうまくいく回答が見つからなかったので、下の方が本当に助けになりました。 –