2013-09-19 5 views
0

Я пытаюсь добавить имя & номера телефона в телефонный book.It всегда отображает «Поставлен», но он никогда не пришел в книги.Невозможно добавить контакт в телефонной книге

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); 

       int index = ops.size(); 

       ops.add(ContentProviderOperation 
         .newInsert(ContactsContract.Data.CONTENT_URI) 
         .withValueBackReference(
           ContactsContract.Data.RAW_CONTACT_ID, index) 
         .withValue(
           ContactsContract.Data.MIMETYPE, 
           ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE) 
         .withValue(
           ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, 
           mDetail.get(position).getName()) 
         .withValue(
           ContactsContract.CommonDataKinds.Phone.NUMBER, 
           mDetail.get(position).getPhone()) 
         .withValue(
           ContactsContract.CommonDataKinds.Phone.TYPE, 
           ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE) 
         .build()); 

       try { 
        getContentResolver().applyBatch(
          ContactsContract.AUTHORITY, ops); 

        Toast.makeText(Detail_Activity.this, "Inserted..", 
          Toast.LENGTH_SHORT).show(); 

       } catch (Exception e) { 

        Toast.makeText(Detail_Activity.this, e.getMessage(), 
          Toast.LENGTH_SHORT).show(); 
       } 

Предложения/Помощь будет высоко оценен

ответ

0

У меня есть решение. Оно работает!!

 String name = mDetail.get(position).getName(); 
     String phone = mDetail.get(position).getPhone(); 



       ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); 

       ops.add(ContentProviderOperation 
         .newInsert(
           ContactsContract.RawContacts.CONTENT_URI) 
         .withValue(
           ContactsContract.RawContacts.ACCOUNT_TYPE, 
           null) 
         .withValue(
           ContactsContract.RawContacts.ACCOUNT_NAME, 
           null).build()); 

       ops.add(ContentProviderOperation 
         .newInsert(Data.CONTENT_URI) 
         .withValueBackReference(Data.RAW_CONTACT_ID, 0) 
         .withValue(Data.MIMETYPE, 
           StructuredName.CONTENT_ITEM_TYPE) 
         .withValue(StructuredName.DISPLAY_NAME, name) 
         .build()); 

       ops.add(ContentProviderOperation 
         .newInsert(Data.CONTENT_URI) 
         .withValueBackReference(Data.RAW_CONTACT_ID, 0) 
         .withValue(Data.MIMETYPE, 
           Phone.CONTENT_ITEM_TYPE) 
         .withValue(Phone.NUMBER, phone) 
         .withValue(Phone.TYPE, Phone.TYPE_MOBILE) 
         .build()); 

       try { 

        getContentResolver().applyBatch(
          ContactsContract.AUTHORITY, ops); 

        Toast.makeText(Detail_Activity.this, 
          "Contact Saved..", Toast.LENGTH_SHORT) 
          .show(); 
       } catch (Exception e) { 

        Toast.makeText(Detail_Activity.this, 
          e.getMessage(), Toast.LENGTH_SHORT).show(); 
       } 
      } 
Смежные вопросы