我们一直在与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模拟器和某些ICS预模型(例如,HTC霹雳,摩托罗拉Droid),然而,试图查询的权限拒绝异常返回UI的结果:
java.lang.SecurityException异常:通过引起许可拒绝:读取com.android.providers.contacts.ContactsProvider2 URI内容://com.android.contacts/contacts/lookup/0r1-52345052324E483C32/1从PID = 273,UID = 10036需要android.permission.READ_CONTACTS
这看起来像一个操作系统或设备碎片问题; 我们正在寻求澄清关于这一主题,使我们可以用这种或另一种方法前进。
思考?