我想更改應用程序中的聯繫人信息,這有可能嗎?Android - 更改應用程序內的聯繫人信息
我想要做的是能夠創建一個指定名稱的聯繫人,並將 指定的號碼添加到我的應用程序中的「此」聯繫人。但是,這應該自動完成,而不是由用戶完成。
我已經創建了一個Android應用程序發送短信,但我希望它改變接觸 信息如果SMS發送到同一個電話......
換句話說;如果我向手機發送短信,我希望該應用爲我自己的號碼創建一個 的聯繫人,並用指定的名稱重命名此號碼。
我希望這是可以理解的...:P
我想更改應用程序中的聯繫人信息,這有可能嗎?Android - 更改應用程序內的聯繫人信息
我想要做的是能夠創建一個指定名稱的聯繫人,並將 指定的號碼添加到我的應用程序中的「此」聯繫人。但是,這應該自動完成,而不是由用戶完成。
我已經創建了一個Android應用程序發送短信,但我希望它改變接觸 信息如果SMS發送到同一個電話......
換句話說;如果我向手機發送短信,我希望該應用爲我自己的號碼創建一個 的聯繫人,並用指定的名稱重命名此號碼。
我希望這是可以理解的...:P
我不知道確切的方法來做到這一點,但我覺得這些例子可以幫助:
也編輯聯繫人是通過一個意圖執行我相信,你需要創建一個意圖,如:
Intent i = new Intent(Intent.ACTION_EDIT);
並通過此意圖更改信息。也看到這一點:
希望它能幫助!
請試試這個:
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
}
}