在Android 2.2上为现有联系人添加新号码

时间:2011-07-21 02:53:38

标签: android contact android-2.2-froyo

我正在尝试向现有联系人添加新号码(或电子邮件或网站),但代码效果不佳。代码如下:

int rowId = cursor1.getInt(cursor1
                .getColumnIndex(ContactsContract.RawContacts._ID));
ContentValues contentValues = new ContentValues();
contentValues.put(ContactsContract.Data.RAW_CONTACT_ID, rowId);
contentValues.put(ContactsContract.Data.MIMETYPE,
        ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
contentValues.put(ContactsContract.CommonDataKinds.Phone.NUMBER,
        "45435345");
contentValues.put(ContactsContract.CommonDataKinds.Phone.TYPE,
        Phone.TYPE_HOME);

ops.add(ContentProviderOperation
        .newInsert(ContactsContract.Data.CONTENT_URI)
        .withValues(contentValues).build());

当代码运行时,没有错误,也没有任何变化。我很郁闷。任何帮助都会救我!!!

2 个答案:

答案 0 :(得分:0)

也许你需要这两个权限:

<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />

也许你需要使用ContentResolver而不是ContentValues。

答案 1 :(得分:0)

使用此代码在手机Contatcs中插入New Contatct:

Intent intent = new Intent(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT, Uri.parse("tel:" + currentNum.getText())); //currentNum is my TextView, you can replace it with the number directly such as Uri.parse("tel:1293827")
intent.putExtra(ContactsContract.Intents.EXTRA_FORCE_CREATE, true); //skips the dialog box that asks the user to confirm creation of contacts
startActivity(intent);

享受您的代码:) -