Android-在应用程序中更改联系人信息

Android-在应用程序中更改联系人信息,android,contacts,Android,Contacts,我想更改应用程序中的联系人信息,可以吗 我想做的是能够创建具有指定名称的联系人并添加 我的应用程序中“此”联系人的指定号码。但是,应该这样做 自动,而不是由用户 我已经创建了一个发送短信的android应用程序,但我希望它能更改联系人 信息如果短信发送到同一部手机 换言之;如果我向手机发送短信,我希望应用程序为我的手机创建联系人 我自己的号码,并用指定的名称重命名此号码 我希望这是可以理解的…:P我不知道确切的方法,但我认为这些例子可以帮助: 此外,编辑联系人也是通过意图执行的,我认为,您需

我想更改应用程序中的联系人信息,可以吗

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

我已经创建了一个发送短信的android应用程序,但我希望它能更改联系人 信息如果短信发送到同一部手机

换言之;如果我向手机发送短信,我希望应用程序为我的手机创建联系人 我自己的号码,并用指定的名称重命名此号码


我希望这是可以理解的…: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
    }
}
public static void addContact(上下文上下文、字符串名字、字符串姓氏、字符串编号){
试一试{
ArrayList ops=新的ArrayList();
add(ContentProviderOperation.newInsert(RawContacts.CONTENT\u URI).withValue(RawContacts.ACCOUNT\u TYPE,null).withValue(RawContacts.ACCOUNT\u NAME,null.build());
ops.add(ContentProviderOperation.newInsert(Data.CONTENT\u URI).withValueBackReference(Data.RAW\u CONTACT\u ID,0).withValue(Data.MIMETYPE,StructuredName.CONTENT\u ITEM\u TYPE).withValue(StructuredName.GIVEN\u NAME,firstname).withValue(StructuredName.FAMILY\u NAME,姓氏).build());
ops.add(ContentProviderOperation.newInsert(Data.CONTENT\u URI).withValueBackReference(Data.RAW\u CONTACT\u ID,0).withValue(Data.MIMETYPE,Phone.CONTENT\u ITEM\u TYPE).withValue(Phone.NUMBER,NUMBER).withValue(Phone.TYPE,Phone.TYPE\u MOBILE.build());
ContentProviderResult[]res=context.getContentResolver().applyBatch(ContactsContract.AUTHORITY,ops);
如果(res==null){//error}
}捕获(远程异常){
//错误
}捕获(操作应用程序异常e){
//错误
}
}