获取具有全名详细信息和电话号码的SINGLE游标

时间:2012-08-01 08:04:55

标签: android contactscontract

我想创建一个包含给定名称,姓氏和手机号码的Cursor。这些列不是位于ContactsContract下可用的任何容器中,我能够获取此信息的唯一方法是首先获取名称的光标,然后通过为每个名称创建单独的游标来获取电话号码。联系。这个解决方案迫使我将数据读取到本地数据结构,而不是仅使用光标上的适配器,并且会产生大量的性能开销(大约5s左右,电话号码约为140个)。

有没有办法创建两个游标然后加入表?或者还有其他方法吗? 在过去的两天里,我一直在努力解决这个问题并阅读我在谷歌上发现的所有内容,但实际上我也无法按照自己的意愿行事。这真的不可能,或者是吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以从DISPLAY_NAME获取NUMBERContactsContract.CommonDataKinds.Phone。试试这个:

Uri uri = Phone.CONTENT_URI;
String[] projection = new String[]
                {Phone.DISPLAY_NAME, Phone.NUMBER, Phone.CONTACT_ID, Phone._ID}
Cursor contactsCursor = getContentResolver().query(uri, projection, null, null, null);