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

Posted

技术标签:

【中文标题】获取带有全名详细信息和电话号码的 SINGLE 光标【英文标题】:Obtaining a SINGLE cursor with full name details and phone numbers 【发布时间】:2012-07-30 02:26:28 【问题描述】:

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

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

提前致谢!

【问题讨论】:

【参考方案1】:

您可以从ContactsContract.CommonDataKinds.Phone 获取DISPLAY_NAMENUMBER。试试这个:

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);

【讨论】:

以上是关于获取带有全名详细信息和电话号码的 SINGLE 光标的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin Android,使用带有选择和选择参数的 CursorLoader 获取联系人手机号码

我想查询以从命令行获取详细信息

从本地联系人获取详细信息后如何区分电话号码

如何从 Lync 联系人卡片中获取用户的电话号码或其他联系人详细信息?

我可以获取下载我的 Android 应用程序的用户的详细信息吗?

我想要来自 android 中 MMS db 的彩信号码、发送/接收、正文和附件详细信息...怎么做?