gpt4 book ai didi

android - 为什么我无法获取手机上的所有联系人?

转载 作者:行者123 更新时间:2023-11-30 00:52:57 24 4
gpt4 key购买 nike

我写了一段代码,可以返回我 Android 手机上的所有联系人。但是当我在我的安卓手机上运行它时,我发现即使我有 600 个联系人——我的代码也只有 173 个联系人

如何获取所有联系人?为什么我只得到其中的 173 个?

代码:

 private void CollectAllContacts(Activity activity){
ArrayList<ContactData> contactDataList = new ArrayList<ContactData>();


try {

ContentResolver cr = activity.getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
ContactData newContact = new ContactData();

String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

newContact.setId(id);
newContact.setDisplayName(name);

contactDataList.add(newContact);
}
}
}
catch(Exception e)
{
// write to log.
}
}

最佳答案

我遇到了同样的问题。我通过使用 Intent 解决了它。你可以试试这个

 Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts"));
pickContactIntent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE); // Show user only contacts w/ phone numbers
startActivityForResult(pickContactIntent, 100);

然后onActivityResult就可以处理了

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 100 && resultCode == getActivity().RESULT_OK && null != data) {
Uri uri = data.getData();
String[] projection = new String[]{ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER};

Cursor people = getActivity().getContentResolver().query(uri, projection, null, null, null);
int indexNumber = people.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);

people.moveToFirst();
do {
String phoneNumber = people.getString(indexNumber);
phoneNumber = phoneNumber.replaceAll("[-]", "").replaceAll(" ", "");


} while (people.moveToNext());

}
}

关于android - 为什么我无法获取手机上的所有联系人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40647293/

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