android 联系人显示,android-如何仅显示电话联系人(不包括SIM卡联...

我正在构建一个UI,需要在列表视图中显示电话联系人列表.

我正在使用ContactsContract.Data和CursorLoader加载数据,然后将光标绑定到自定义适配器(从SimpleCursorAdapter扩展).

这里的问题是我不知道如何过滤掉SIM卡联系人.我有一个测试电话以及SIM卡上的电话都有相同的联系人,这导致列表视图具有重复的条目.如果删除SIM卡,重复项将消失.

我该如何过滤掉SIM卡联系人?我正在寻找一种使用1个查询获取数据的方法.

这是我现在加载数据的方式:

Uri queryUri = ContactsContract.Data.CONTENT_URI;

String[] projection = new String[] { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Data.MIMETYPE,

ContactsContract.RawContacts.ACCOUNT_TYPE };

selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = 1 AND IS_PRIMARY = 1 AND MIMETYPE = '" + Phone.CONTENT_ITEM_TYPE + "'";

cursorLoader = new CursorLoader(getActivity(), queryUri, projection, selection, null, ContactsContract.Contacts.DISPLAY_NAME);

cursor = cursorLoader.loadInBackground();

//setup adapter, bind to listview etc..

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值