我试图将联系人照片读入图片按钮,但我遇到了尝试这样做的安全权限异常。从logcat开始,这需要授予global_search权限(仅限系统应用程序)或使用granturipermission(),我无法找到解释如何使用它的有用示例。 到目前为止,这是我的代码: -
Cursor phone = null;
Uri result = data.getData();
String contactId = result.getLastPathSegment();
ContentResolver cr = getContentResolver();
Uri contactUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, Long.parseLong(contactId));
InputStream photoIS = ContactsContract.Contacts.openContactPhotoInputStream(cr, contactUri);
try {
if (photoIS != null) {
contactBtn.setImageBitmap(BitmapFactory.decodeStream(photoIS));
contactBtn.setVisibility(View.VISIBLE);
photoIS.close();
selPhoto = contactUri;
}
} catch (Exception e) {
e.printStackTrace();
}
此行引发了安全性异常: - InputStream photoIS = ContactsContract.Contacts.openContactPhotoInputStream(cr, contactUri);
还尝试了官方android solution,但仍然抛出异常。有什么方法可以解决这个问题吗?