我想更改应用中的联系信息,这可能吗?
我想要做的是能够创建具有指定名称的联系人并添加 我的应用中指定的“此”联系人号码。但是,这应该做到 自动而非用户。
我创建了一个发送短信的Android应用,但是我想让它改变联系方式 信息是否发送到同一部手机......
换句话说;如果我发短信到我的手机,我希望该应用程序创建一个联系人 我自己的号码,并用指定的名称重命名这个号码。
我希望这是可以理解的......:P
答案 0 :(得分:0)
我不知道这样做的确切方法,但我认为这些例子可以提供帮助:
同时编辑联系人是通过Intent进行的,我相信你需要创建一个类似的意图:
Intent i = new Intent(Intent.ACTION_EDIT);
并通过此意图更改信息。另见:
希望它有所帮助!
答案 1 :(得分: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
}
}