我想创建一个包含给定名称,姓氏和手机号码的Cursor。这些列不是位于ContactsContract下可用的任何容器中,我能够获取此信息的唯一方法是首先获取名称的光标,然后通过为每个名称创建单独的游标来获取电话号码。联系。这个解决方案迫使我将数据读取到本地数据结构,而不是仅使用光标上的适配器,并且会产生大量的性能开销(大约5s左右,电话号码约为140个)。
有没有办法创建两个游标然后加入表?或者还有其他方法吗? 在过去的两天里,我一直在努力解决这个问题并阅读我在谷歌上发现的所有内容,但实际上我也无法按照自己的意愿行事。这真的不可能,或者是吗?
提前致谢!
答案 0 :(得分:0)
您可以从DISPLAY_NAME
获取NUMBER
和ContactsContract.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);