gpt4 book ai didi

java - 仅当他们有电话号码时,如何获取所有联系人的全名和电话号码?

转载 作者:行者123 更新时间:2023-11-29 22:14:13 25 4
gpt4 key购买 nike

我试图获取所有拥有电话号码的联系人,并记录他们的全名和电话号码(以及将来的联系人照片),但我被卡住了。这是我的代码:

String contacts = "";

Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null);
while (cursor.moveToNext()) {
String contactId = cursor.getString(cursor.getColumnIndex(
ContactsContract.Contacts._ID));
String hasPhone = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if (hasPhone == "1") {
contacts += cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)) + ":" + "how to get number?" + "|";
}
}
cursor.close();

如果联系人有电话号码,则字符串 hasPhone 应包含“1”,然后将该姓名和此人的电话号码添加到“联系人”字符串中。即使 hasPhone 确实包含“1”,(从 logcat 检查)条件语句中的代码也没有运行。另外,你怎么得到电话号码,ContactsContract.Contacts 中没有任何号码。

最佳答案

试试这个:

if (Integer.parseInt(hasPhone) > 0) { 
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +"="+ contactId, null, null);
phones.moveToNext(); //if you are interested in all contact phones do a while()
String phoneNumber = phones.getString(phones.getColumnIndex( ContactsContract.CommonDataKinds.Phone.NUMBER));
phones.close();
contacts += cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)) + ":" + phoneNumber + "|";
}

关于java - 仅当他们有电话号码时,如何获取所有联系人的全名和电话号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8843732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com