频道栏目
首页 > 程序开发 > 移动开发 > Android > 正文
Android 6.0 访问图库时,报错 requires android.permission.READ_EXTERNAL_STORAGE异常
2017-11-11 15:03:30      个评论    来源:HeXinGen的博客  
收藏   我要投稿

Android 6.0 访问图库时,报错 requires android.permission.READ_EXTERNAL_STORAGE异常。

代码如下:

   /**
     * 打开图库
     * @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中添加权限:

  

其次,在android 6.0及其以上,需要动态赋予权限。

注意点

若是程序中已经赋予写入权限,则不需要在写读取权限。写入权限已经包含了读取权限。

点击复制链接 与好友分享!回本站首页
上一篇:Android开发实现打开手机淘宝,并自动识别淘口令,弹出商品信息
下一篇:最后一页
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站