联系人选择器查询是否需要read_contacts权限,具体取决于Android版本?

时间:2012-07-08 23:33:46

标签: android android-intent

我们一直在尝试使用Android联系人选择器,以允许用户在没有需要READ_CONTACTS权限的应用的情况下选择联系人。以下意图似乎适用于4.0(ICS)设备以及2.3.3仿真器:

Intent contactPickerIntent = new Intent(Intent.ACION_GET_CONTENT);
contactPickerIntent.setType(Phone.CONTENT_ITEM_TYPE); // returns content://com.android.contacts/data/...

Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); // returns content://com.android.contacts/lookup/...

在2.2模拟器和某些pre-ICS模型(例如,HTC Thunderbolt,Motorola Droid)上,尝试查询返回的UI会导致权限拒绝异常:

Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.contacts.ContactsProvider2 uri content://com.android.contacts/contacts/lookup/0r1-52345052324E483C32/1 from pid=273, uid=10036 requires android.permission.READ_CONTACTS

这看起来像操作系统或设备碎片问题;我们正在寻求对此主题的澄清,以便我们可以采用这种方法或替代方法。

思想?

0 个答案:

没有答案