Android 6.0 访问图库时,报错 requires android.permission.READ_EXTERNAL_STORAGE异常
来源:互联网 发布:画卡通人物的软件 编辑:程序博客网 时间:2024/05/23 14:17
代码如下:
/** * 打开图库 * @param context * @param requestCode */ public static void openGallery(Activity context, int requestCode) { Intent intent = new Intent(Intent.ACTION_PICK, null); intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*"); context.startActivityForResult(intent, requestCode); }
以上代码很简单,使用Intent开启图库,挑选图片,运行效果很不理想。
Android 7.0模拟器上,报错:
11-10 10:07:02.241 4449-4468/? E/DatabaseUtils: Writing exception to parcel java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/file from pid=4337, uid=10049 requires android.permission.READ_EXTERNAL_STORAGE , or grantUriPermission() at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:608) at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:483) at android.content.ContentProvider$Transport.query(ContentProvider.java:212) at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112) at android.os.Binder.execTransact(Binder.java:565)
在AndroidManifest.xml中添加权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE">
其次,在android 6.0及其以上,需要动态赋予权限。
Android6.0动态权限:
如何动态请求权限,请阅读 Android6.0权限处理篇和Android EasyPermission权限库。
注意点:
若是程序中已经赋予写入权限,则不需要在写读取权限。写入权限已经包含了读取权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
阅读全文
1 0
- Android 6.0 访问图库时,报错 requires android.permission.READ_EXTERNAL_STORAGE异常
- Android: requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
- Android: requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
- requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
- requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
- Android 23使用定位权限报错Call requires permission which may be rejected by user
- android 不使用READ_EXTERNAL_STORAGE权限进行访问sd卡
- requires android.permission.CALL_PHONE解决办法
- Permission Denial: requires android.permission.CHANGE_CONFIGURATION
- Permission Denial: requires android.permission.CHANGE_CONFIGURATION
- Android---requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS
- android 6.0以下系统 应用出现crash,报错:使用android.permission.READ_PHONE_STATE权限出现SecurityException异常
- ContentResolver访问android系统图库
- uses-permission android:name="android.permission.INSTALL_PACKAGES 报错
- uses-permission android:name="android.permission.INSTALL_PACKAGES 报错
- Android java.lang.SecurityException: Permission Denial: requires android.permission.CALL_PRIVILEGED
- Android Permission denied 异常
- Android错误之 Requires VIBRATE permission
- 红黑树(RB-tree)比AVL树的优势在哪?
- ubuntu下让python脚本可直接运行
- HTML隐藏域作用
- 模版方法模式
- LintCode Jump Game 跳跃游戏
- Android 6.0 访问图库时,报错 requires android.permission.READ_EXTERNAL_STORAGE异常
- Linux命令(2)-df & du
- 大数据早报:英伟达Q3营收26.4亿美元创纪录 微软和AWS在机器学习上达成合作(11.11)
- 如何使用COleDateTime类获取昨天(前几天)的日期
- 商机 | 大数据/政务云采购清单 招标12起,最高招标价为2037.5万(11.8-11.10)
- 2.6 精确表达浮点数
- 你需要了解 关于Hadoop与大数据的12个事实
- Java for Web学习笔记(八九):消息和集群(4)定制发布和订购
- Tornado是为何物