【发布时间】:2016-12-26 03:39:03
【问题描述】:
我正在尝试以编程方式编辑联系方式。我想更改电话号码等于 123 的联系人姓名。这是我的非工作代码。
Uri lookupUri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode("123"));
// This query will return NAME and ID of contact, associated with phone //number.
Cursor mcursor = getContentResolver().query(lookupUri, new String[]{ContactsContract.PhoneLookup.DISPLAY_NAME, ContactsContract.PhoneLookup._ID}, null, null, null);
//Now retrive _ID from query result
long idPhone = 0;
try {
if (mcursor != null) {
if (mcursor.moveToFirst()) {
idPhone = Long.valueOf(mcursor.getString(mcursor.getColumnIndex(ContactsContract.PhoneLookup._ID)));
String getID = String.valueOf(idPhone);
Toast.makeText(this.getApplicationContext(), getID, Toast.LENGTH_LONG).show();
Uri uri= ContentUris.withAppendedId(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,3625);
ContentValues values = new ContentValues();
values.put(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,"After Changed name");
getContentResolver().update(uri, values, ContactsContract.CommonDataKinds.Phone._ID+"=?", new String[] {String.valueOf(idPhone)});
}
}
} finally {
mcursor.close();
}
目前我正在查找电话号码并获取电话号码的 ID。使用 ID 我正在尝试更新它,似乎它没有用 ID 更新电话号码。
【问题讨论】:
标签: java android android-studio contactscontract