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及其以上,需要动态赋予权限。
注意点:
若是程序中已经赋予写入权限,则不需要在写读取权限。写入权限已经包含了读取权限。
如对本文有疑问, 点击进行留言回复!!
LongClick原理、上下文菜单原理、EditText长按弹窗原理、WebView长按弹窗自定义、修复WebView全选重复bug ———————————————— 版权声明:本文为CSDN博主「
JobScheduler 实现 特定时间,特定条件(系统空闲,电池电量,磁盘空间 ……)下执行任务
温习Android基础知识——《第一行代码(第三版)》读书笔记 Chapter 10 Service
网友评论