2010-09-16 28 views
5

Tôi đang cố gắng thêm lập trình một liên hệ trong Android theo chương trình. Đây là mã của tôi:Tôi có thể thêm liên hệ theo cách lập trình bằng cách nào?

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); 
int rawContactInsertIndex = ops.size(); 

ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI) 
    .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE,"Google") 
    .withValue(ContactsContract.RawContacts.ACCOUNT_NAME,"[email protected]") .build()); 

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


ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) 
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex) 
    .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE) 
    .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, phone) 
    .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, phoneType) 
    .build()); 


ops.add(ContentProviderOperation.newInsert(ContactsContract 
    .Data.CONTENT_URI) 
    .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID,rawContactInsertIndex) 
    .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE) 
    .withValue(ContactsContract.CommonDataKinds.Email.DATA, email) 
    .withValue(ContactsContract.CommonDataKinds.Email.TYPE, emailType) 
    .build()); 

try { 
    getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); 
    Context ctx = getApplicationContext(); 
    CharSequence txt = "Contact " + name +" added successfully"; 
    int duration = Toast.LENGTH_LONG; 
    Toast toast = Toast.makeText(ctx, txt, duration); 
    toast.show(); 
} catch (Exception e) { 
    Toast.makeText(getApplicationContext(),"error",Toast.LENGTH_LONG).show(); 
} 

Tôi có làm đúng không? Làm cách nào để thêm tên tài khoản và loại tài khoản?

LƯU Ý: Tôi chưa tạo bất kỳ tài khoản nào. Có bắt buộc phải có tài khoản để thêm địa chỉ liên hệ không?

Trả lời

1

Kiểm tra my post về cách chèn địa chỉ liên hệ. Hy vọng nó giúp.

+0

hey tôi đã làm điều tương tự nhưng tôi không thể thêm địa chỉ liên hệ .... có điều gì liên quan đến Trình quản lý tài khoản không ??? tôi không có bất kỳ Tài khoản nào ... và tôi cũng không thể thêm tài khoản trong trình mô phỏng – Ads

Các vấn đề liên quan