我试图阅读完整的个人资料信息,如(全名,电话,地址,邮件....)。如何访问ContactsContract配置文件?
我到处搜索了一个很好的示例代码。我尝试了很多方法(Uri => Cursor)来访问配置文件。 在这个时候,我只能取得全名(个人资料联系人),没有其他任何东西。
我可以使用意图获取其他联系人的数据,发送到联系人应用程序,但我不能读取配置文件联系人(只是全名)。
我在清单文件中添加了READ_PROFILE权限。
用下面的代码我得到的全名(我也可以访问单独姓和名):
Uri uriProfile = Uri.withAppendedPath(ContactsContract.Profile.CONTENT_URI,
ContactsContract.Contacts.Data.CONTENT_DIRECTORY);
Cursor cursorProfile = this.getContentResolver().query(uriProfile,
null, null, null, null);
String projection = Profile.DISPLAY_NAME;
String profileName = cursorProfile.getString(cursorProfile.getColumnIndex(projection);
但是当我使用这下面的投影拿到电话号码,它会返回一个错误,应用程序停止工作:
String projection = ContactsContract.CommonDataKinds.Phone.NUMBER
哪些错误你好吗? –
'DatabaseUtils#dumpCursor'在'logcat'上显示的是什么? – pskink
@MarcoFerrari现在我没有任何错误,但使用什么投影并不重要,我总是有名称。你有我的一些解决方案read_profile – Abderrezak