【问题标题】:Unable to add contact in my device无法在我的设备中添加联系人
【发布时间】:2011-11-08 22:59:43
【问题描述】:

我尝试了以下代码来添加在我的设备中不起作用的新联系人.. 但相同的代码在模拟器上运行良好.. 我正在使用三星 Galaxy fit GT-s5670。

代码样式 - 1

ContentValues values = new ContentValues();                     
values.put(People.NAME,"test contact");     

Uri uri = getContentResolver().insert(People.CONTENT_URI, values);

Uri phoneUri = null;
Uri emailUri = null;

phoneUri = Uri.withAppendedPath(uri, People.Phones.CONTENT_DIRECTORY);

values.clear();
values.put(People.Phones.TYPE, People.Phones.TYPE_MOBILE);
values.put(People.Phones.NUMBER,"0123456789");
getContentResolver().insert(phoneUri, values);

emailUri = Uri.withAppendedPath(uri, People.ContactMethods.CONTENT_DIRECTORY);

values.clear();
values.put(People.ContactMethods.KIND, Contacts.KIND_EMAIL);
values.put(People.ContactMethods.DATA,"test@test.com");
values.put(People.ContactMethods.TYPE, People.ContactMethods.TYPE_HOME);
getContentResolver().insert(emailUri, values);

代码样式 - 2

Intent intent = new Intent(Contacts.Intents.Insert.ACTION, Contacts.People.CONTENT_URI);                
intent.putExtra(ContactsContract.Intents.Insert.NAME,"test contact");
intent.putExtra(ContactsContract.Intents.Insert.PHONE,"0123456789");
intent.putExtra(ContactsContract.Intents.Insert.EMAIL,"test@test.com");
startActivity(intent);

我尝试了以上两种方法,但无法添加到我的设备中。请帮我解决..!

谢谢。

【问题讨论】:

    标签: android-contacts android


    【解决方案1】:

    试试这个链接

    http://androiddevelopement.blogspot.com/2011/07/insert-update-delete-view-contacts-in.html 或使用此代码。

    ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
    int rawContactInsertIndex = ops.size();
    
    ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
                        .withValue(RawContacts.ACCOUNT_TYPE, null)
                        .withValue(RawContacts.ACCOUNT_NAME,null )
                        .build());
    ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
                        .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex)
                        .withValue(Data.MIMETYPE,Phone.CONTENT_ITEM_TYPE)
                        .withValue(Phone.NUMBER, "9X-XXXXXXXXX")
                        .build());
    ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
                        .withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex)
                        .withValue(Data.MIMETYPE,
                         StructuredName.CONTENT_ITEM_TYPE)
                        .withValue(StructuredName.DISPLAY_NAME, "Mike Sullivan")
                        .build());  
    ContentProviderResult[] res = getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
    

    【讨论】:

    • thnx...我可以知道如何添加电子邮件ID..吗?我试过 Phone.DATA 但它不能..!
    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多