2014-04-09 19 views
6

ContactsContract.Intents.Insert numaralı telefonu kullanarak yeni bir kişi eklemek istiyorum. Ama sorun şu ki kaç telefon numarasının olabileceğini bilmiyorum. Ve anladığım kadarıyla, PHONE, SECONDARY_PHONE, TERTIARY_PHONE sabitlerini kullanarak yalnızca üç telefon numarasından geçebilirim. Üçten fazla sayıyı geçmenin bir yolu var mı?Çoklu telefon numaraları ile niyetle yeni iletişim kurun

cevap

8

Bir çözüm bulundu. Bu kullanarak ContentValues ​​oluşur:

Intent intent = new Intent(Intent.ACTION_INSERT); 
intent.setType(ContactsContract.Contacts.CONTENT_TYPE); 
ArrayList<ContentValues> data = new ArrayList<ContentValues>(); 

//Filling data with phone numbers 
for (int i = 0; i < numberOfPhones; i++) { 
    ContentValues row = new ContentValues(); 
    row.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE); 
    row.put(Phone.NUMBER, PhonesNumberList.get(i)); 
    row.put(Phone.TYPE, Phone.TYPE_WORK); 
    data.add(row); 
} 

contactIntent.putExtra(ContactsContract.Intents.Insert.NAME, mName); 
contactIntent.putParcelableArrayListExtra(ContactsContract.Intents.Insert.DATA, data); 
startActivity(contactIntent); 
+0

Eşiği 6+ çalışan Android, teşekkürler! – norbDEV

0

-posta ile Ov3r1oad cevap uzatın:

ContentValues row = new ContentValues(); 
row.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE); 
row.put(ContactsContract.CommonDataKinds.Email.ADDRESS, emailAddress); 
row.put(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK); 
data.add(row); 
İlgili konular