我想在android联系窗口中更新或修改用户联系人详细信息。 下面的代码工作正常,但它没有将正确的电话号码传递到android联系人编辑器窗口。
这是我的代码
private void modifyContact() {
phonenumber="0711236763";
mSelectedContactUri=Uri.parse(phonenumber);
mCursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (mCursor != null && mCursor.moveToFirst()) {
mLookupKeyIndex = mCursor.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY);
mCurrentLookupKey = mCursor.getString(mLookupKeyIndex);
mIdIndex = mCursor.getColumnIndex(ContactsContract.Contacts._ID);
mCurrentId = mCursor.getLong(mIdIndex);
}
mSelectedContactUri = ContactsContract.Contacts.getLookupUri(mCurrentId, mCurrentLookupKey);
Intent editIntent = new Intent(Intent.ACTION_EDIT);
editIntent.setDataAndType(mSelectedContactUri, ContactsContract.Contacts.CONTENT_ITEM_TYPE);
editIntent.putExtra("finishActivityOnSaveCompleted", true);
startActivity(editIntent);
}
变量phonenumber
是我想要修改或更新的电话号码。
答案 0 :(得分:1)
确保在从中访问数据之前正确初始化Cursor。"它适用于我的代码。
1.尝试通过moveToFirst定位光标,然后再从中读取数据。
2.检查null-> if(c!= null&& c.moveToFirst()){}
3.检查count-> (c!= null&& c.getCount()> 0&& c.moveToFirst()){}