5

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

有没有办法创建两个游标然后加入表?或者还有其他方法吗?在过去的两天里,我一直在为这个问题苦苦挣扎,并阅读了我在谷歌上找到的所有内容,但实际上我也无法得到任何我想要的东西。这不可能真的是不可能的,不是吗?

提前致谢!

4

1 回答 1

0

您可以DISPLAY_NAMENUMBER. 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);
于 2012-11-06T12:09:50.883 回答