Java Can';在我的Android应用程序中找不到电话号码
我的Android应用程序需要检索有关联系人的信息(即电话号码和姓名)。我使用Java Can';在我的Android应用程序中找不到电话号码,java,android,Java,Android,我的Android应用程序需要检索有关联系人的信息(即电话号码和姓名)。我使用getContentResolver().query()编写了一些代码。在结果中,我看到返回的是姓名,以及其他信息,如我上次与此人联系的时间,但不是电话号码。我做错了什么 守则: Log.w("MyApp", "requesting " + phonesUri.toString()); Cursor contactCursor = context.getContentResolver().query(person, n
getContentResolver().query()
编写了一些代码。在结果中,我看到返回的是姓名,以及其他信息,如我上次与此人联系的时间,但不是电话号码。我做错了什么
守则:
Log.w("MyApp", "requesting " + phonesUri.toString());
Cursor contactCursor = context.getContentResolver().query(person, null, null, null, null);
contactCursor.moveToFirst();
for (int i = 0; i < contactCursor.getColumnCount(); i ++) {
Log.w("MyApp", contactCursor.getColumnName(i) + ": " + contactCursor.getString(i));
}
DatabaseUtils.dumpCursorToString(cursor)在光标上单击code>,以获取原始输出的字符串表示形式
if (Integer.parseInt(cur.getString(
cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor pCur = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
new String[]{id}, null);
while (pCur.moveToNext()) {
// Do something with phones
}
pCur.close();
}
查看本教程谢谢。似乎旧的Eclair前的东西不再可靠地工作了。一旦我切换到ContactsContract,事情就开始运转了。
if (Integer.parseInt(cur.getString(
cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor pCur = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",
new String[]{id}, null);
while (pCur.moveToNext()) {
// Do something with phones
}
pCur.close();
}