2012-01-31 89 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 
    } 
} 
相關問題