2012-01-31 42 views
0

我想更改应用程序中的联系人信息,这有可能吗?Android - 更改应用程序内的联系人信息

我想要做的是能够创建一个指定名称的联系人,并将 指定的号码添加到我的应用程序中的“此”联系人。但是,这应该自动完成,而不是由用户完成。

我已经创建了一个Android应用程序发送短信,但我希望它改变接触 信息如果SMS发送到同一个电话......

换句话说;如果我向手机发送短信,我希望该应用为我自己的号码创建一个 的联系人,并用指定的名称重命名此号码。

我希望这是可以理解的...:P

回答

0

我不知道确切的方法来做到这一点,但我觉得这些例子可以帮助:

Android ContactAdder

Android edit contact

也编辑联系人是通过一个意图执行我相信,你需要创建一个意图,如:

Intent i = new Intent(Intent.ACTION_EDIT); 

并通过此意图更改信息。也看到这一点:

Android update contact name

希望它能帮助!

0

请试试这个:

public static void addContact(Context context, String firstname, String surname, String number) { 
    try { 
     ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); 

     ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI).withValue(RawContacts.ACCOUNT_TYPE, null).withValue(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.GIVEN_NAME, firstname).withValue(StructuredName.FAMILY_NAME, surname).build()); 
     ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI).withValueBackReference(Data.RAW_CONTACT_ID, 0).withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE).withValue(Phone.NUMBER, number).withValue(Phone.TYPE, Phone.TYPE_MOBILE).build()); 

     ContentProviderResult[] res = context.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); 
     if (res == null) { //error } 
    } catch (RemoteException e) { 
     // error 
    } catch (OperationApplicationException e) { 
     // error 
    } 
} 
相关问题