我想更改应用程序中的联系人信息,这有可能吗?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
}
}