Tob*_*hen 5 android contact-list contactscontract android-contacts
我在我的应用程序中显示那些联系人时遇到问题,这些联系人位于我手机的地址簿中.
从谷歌联系人应用程序我发现了许多不同的版本,如何查询这些联系人:
不使用选择
Uri uri = ContactsContract.CONTACT.CONTENT_URI;
getActivity().getContentResolver().query(uri,PROJECTION, null, null, null);
Run Code Online (Sandbox Code Playgroud)仅使用具有可见组= = 1的联系人
Uri uri = ContactsContract.CONTACT.CONTENT_URI;
String selection = Contacts.IN_VISIBLE_GROUP + "=1"
getActivity().getContentResolver().query(uri,PROJECTION, selection, null, null);
Run Code Online (Sandbox Code Playgroud)或者使用目录查询参数
Uri uri = Contacts.CONTENT_URI.buildUpon().appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY, String.valueOf(Directory.DEFAULT)).build();
getActivity().getContentResolver().query(uri, PROJECTION, null, null, null);
Run Code Online (Sandbox Code Playgroud)最后一次提供最佳结果,但没有任何查询真正令人满意!:(我在不同的设备上测试了所有这些,但从来没有能够准确地获得电话簿中的联系人数量.
有人有一个想法,为什么没有查询适用于所有设备?
以下是我的测试结果:
================================================== ===============
| 设备\选择| 电话簿 | 不(1)| 可见组(2)| Directory.Default(3)|
================================================== ===============
| Galaxy S | 288 | 302 | 288 | 288 |
| Nexus 4 | 61 | 196 | 60 | 61 |
| Xperia Go | 32 | 46 | 32 | 33 |
| Nexus 5 | 109 | 168 | 108 | 109 |
| Galaxy S3 | 124 | 124 | 2 | 124 |
| Xperia Z | 157 | 254 | 156 | 180 |
================================================== ===============
归档时间: |
|
查看次数: |
829 次 |
最近记录: |