我需要获得一个特定联系人的说明,我有他的身份证和他的名字。 无论我正在尝试什么,只有在尝试在Google上找到类似的答案并在此处获得类似的答案后,我才会在结束时获取NULL并且我没有选择..
请帮助:) 这是我的代码:
Cursor noteCur = cr.query(ContactsContract.Data.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Note.CONTACT_ID+"='"+id+"'", null, null);
noteCur.moveToFirst();
note = noteCur.getString(
noteCur.getColumnIndex(ContactsContract.CommonDataKinds.Note.NOTE));
mContactList.get(mContactList.size()-1).setNote(note);//Adding the contact Note
System.out.println("Note " + note);
noteCur.close();
如果我从我的应用程序中添加联系人并在Add方法中指定一个Note,那么Note将被转移并成功显示
但是,如果我在关闭并打开应用程序后尝试获取此特定联系人的注意事项,我无法得到它的注意事项,我得到的只是NULL:(
Note在其他联系人应用程序中可见,所以问题是我试图在我自己的应用程序中获取Note ..
谢谢!
答案 0 :(得分:1)
如果有人有兴趣就知道了。
try {
Cursor cursor = contentResolver.query(
ContactsContract.Data.CONTENT_URI,
null,
CommonDataKinds.Note.CONTACT_ID +" = ?",
new String[]{contactId}, null);
while (cursor.moveToNext())
{
note = cursor.getString(cursor.getColumnIndex(CommonDataKinds.Note.NOTE));
}
System.out.println("Note " + note);
cursor.close();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
其中“contactId”是特定联系人的ID。