Задать вопрос
MODifikaTOR18
@MODifikaTOR18
Сисадмин

Почему не удаляет номер из контакта?

Делаю контактную книжку, необходимо реализовать удаление номера телефона из контакта. На стаке мне посоветовали код:
private final String queryPhone = ContactsContract.Contacts.Data.RAW_CONTACT_ID + "=? AND " + ContactsContract.Contacts.Data.MIMETYPE + "='" 
+ ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "'" + " AND ";
private final String queryByNumber = ContactsContract.CommonDataKinds.Phone.NUMBER + "=?";

    public void removePhoneByNumber(Long contactId, String phoneNumber) {
        ArrayList<ContentProviderOperation> os = new ArrayList();
        String[] phoneArgs = new String[] {String.valueOf(contactId), phoneNumber};
        os.add(ContentProviderOperation.newDelete(ContactsContract.Data.CONTENT_URI)
                .withSelection(queryPhone + queryByNumber, phoneArgs)
                .build());
        try {
            getContentResolver().applyBatch(ContactsContract.AUTHORITY, os);
        }
        catch (RemoteException e) {
            e.printStackTrace();
        }
        catch (OperationApplicationException e) {
            e.printStackTrace();
        }
    }

Автор кода говорит, что у него код работает, но у меня результата выполнения нет. Функция вызывается из слушателя кнопки удаления. Что посоветуете изменить? Или есть другой способ удаления номера из контакта?
  • Вопрос задан
  • 209 просмотров
Подписаться 1 Оценить 4 комментария
Пригласить эксперта
Ответы на вопрос 1
@Destplay
<uses-permission android:name="android.permission.READ_CONTACTS"
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
В манифесте прописал ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы