我想从我的手机中获取所有联系人。来自 GSM 卡和手机内存。姓名、姓氏、电话号码、昵称、电子邮件和更多可能的所有联系人。我想知道什么是最快和最有效的方法。我的 Android 版本 id 为 2.2.something 但解决方案应支持 2.1 以上的所有版本。
有什么建议么?
// 顺便提一句。也许你可以给我一些关于使用 Android 联系人数据库的好教程?
基本上你需要查询联系人提供者。根据您需要的数据,您还需要调整查询并设置一些过滤。
查询ContactsContract.Data.CONTENT_URI
将从提供商处获取所有联系人条目。
为了提高效率,这取决于您如何处理提供者返回的数据。为了减少工作量,只请求您真正需要的数据至关重要。例如,如果您只关心有电话号码的联系人,您可以将以下内容添加到选择参数中:
ContactsContract.Data.MIMETYPE + " = '" ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "'"
看一下CursorLoader
,它注意不要阻塞主线程。
获取 htc 同步,并用充电器电缆连接您的手机。在那里你可以看到你的android上的所有信息。
http://www.htc.com/www/software/htc-sync-manager/download/
仅适用于 Windows