2014-02-20 5 views
0

Я пытался удалить все группы контактов, используя этот кодНевозможно удалить Gmail контакты группы андроида

private void deletaAllInGroup(Context context, long groupId) 
      throws RemoteException, OperationApplicationException{ 
    ContentValues values = new ContentValues();   
    values.put(ContactsContract.Groups._ID, groupId); 
    getContentResolver().delete(ContactsContract.Groups.CONTENT_URI,values.toString(),null); 
     } 

она успешно удаляемый те группы, которые являются телефонные группы, но этот код не удаляя контактов Gmail группа, как это сделать ???

ответ

1

я решить эту проблему, как таким образом

ArrayList<GroupNameDetails> stateList = new ArrayList<GroupNameDetails>(); 
     final String[] GROUP_PROJECTION = new String[] 
       { 
        ContactsContract.Groups._ID, ContactsContract.Groups.TITLE, ContactsContract.Groups.ACCOUNT_TYPE//this line will do the trick 
       }; 
      Cursor cursor = getContentResolver().query(ContactsContract.Groups.CONTENT_URI, GROUP_PROJECTION, null, 
        null, ContactsContract.Groups.TITLE); 
      while (cursor.moveToNext()) { 
       String accountname=cursor.getString(cursor.getColumnIndex(ContactsContract.Groups.ACCOUNT_TYPE)); 
       Toast.makeText(getBaseContext(), accountname, Toast.LENGTH_LONG).show();// and it will display group type 
       String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Groups._ID)); 
       Log.v("Test", id); 
       //ContactsContract.Groups.ACCOUNT_NAME 

       String gTitle = (cursor.getString(cursor.getColumnIndex(ContactsContract.Groups.TITLE))); 
       if(favGroupName.contains(gTitle)==false) 
       { 
       favGroupId.add(id); 
       favGroupName.add(gTitle); 

       GroupNameDetails _states = new GroupNameDetails(Long.parseLong(id),gTitle, false); 
       stateList.add(_states); 
       } 
       Log.v("Test", gTitle); 
       if (gTitle.contains("Favorite_")) { 
        gTitle = "Favorites"; 

       } 

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