1

ниже мой код для удаления контакта с телефонаКак удалить контакт SIM-карты в Android

Uri contactUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, 
       Uri.encode(phone)); 
     Cursor cur = mContext.getContentResolver().query(contactUri, null, 
       null, null, null); 
     boolean flag = false; 
     try { 
      if (cur.moveToFirst()) { 
       do { 
        if (cur.getString(
          cur.getColumnIndex(PhoneLookup.DISPLAY_NAME)) 
          .equalsIgnoreCase(name)) { 
         String lookupKey = cur 
           .getString(cur 
             .getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY)); 
         Uri uri = Uri.withAppendedPath(
           ContactsContract.Contacts.CONTENT_LOOKUP_URI, 
           lookupKey); 
         mContext.getContentResolver().delete(uri, null, null); 
         flag=true; 
         break; 
        } 

       } while (cur.moveToNext()); 
      } 

     } catch (Exception e) { 
      flag=false; 
      System.out.println(e.getStackTrace()); 
     } 

удаления контакта с телефона работает нормально, но сим контакт удаления временного среднего значения, когда мой телефон перезагрузить мой контакт восстановить что я удалил. помогите найти решение этой проблемы. Благодаря ...

+1

Проверьте это. http://stackoverflow.com/a/26971638/2058260 – H4SN

ответ

1

URI, который вы хотите использовать, это один: content://icc/adn/

Кроме того, вы должны использовать name и number для удаления контакта.

попробовать что-то вроде этого (работает для меня):

Uri simUri = Uri.parse("content://icc/adn/"); 
ContentResolver mContentResolver = this.getContentResolver(); 
Cursor c = mContentResolver.query(simUri, null, null, null, null); 
if (c.moveToFirst()) 
{ 
    do 
    { 
     if (/* your condition here */) 
     { 
      mContentResolver.delete(
       simUri, 
       "tag='" + c.getString(c.getColumnIndex("name")) + 
       "' AND " + 
       "number='" + c.getString(c.getColumnIndex("number")) + "'" 
       , null); 
      break; 
     }      
    } 
    while (c.moveToNext()); 
} 

Конечно же, не забудьте эти разрешения:

<uses-permission android:name="android.permission.READ_CONTACTS" /> 
<uses-permission android:name="android.permission.WRITE_CONTACTS" /> 
+0

спасибо за ответ, я читаю как телефон, так и sim одновременно, как я могу определить контакт с сим или телефоном. – Lokesh

+1

Они находятся в двух разных местах, идентифицированных двумя разными Ури. Каждый контакт приходит с того или другого места. В чем проблема ? – ToYonos

+0

спасибо за ответ, дайте мне попробовать – Lokesh

Смежные вопросы