我正在尝试编写一种方法来确定联系人是否至少有一个电话号码,目前我有这个:
public boolean hasPhone() {
Cursor phones = this.map.getContentResolver().query(
ContactsContract.Contacts.CONTENT_URI,
null,
ContactsContract.Contacts._ID + "=" + this.contactId,
null,
null
);
boolean has = false;
if(phones.moveToFirst()) {
do {
if(Integer.parseInt(phones.getString(phones.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
has = true;
break;
}
} while(phones.moveToNext());
}
return has;
}
该方法总是返回 false,即使我知道有问题的联系人有电话号码。我也知道contactId是正确的,因为我也用它来获取邮政地址等。
任何帮助将不胜感激,因为我即将把头发扯掉:p
谢谢。