android 6.0以上机型widget 方式集成5+ SDK 权限问题

我目前测试的机型是 android 7.1.2 ,华为nexus 6p 手机,在集成HTML5+ SDK时 设置了 权限:

<!-- 调用摄像头 -->

<uses-permission android:name="android.permission.CAMERA" />

&lt;uses-feature android:name=&quot;android.hardware.camera&quot; /&gt;

\n

而无法启动相机 ;报出错误 :

java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3 cmp=com.android.camera/.Camera clip={text/uri-list U:file:///storage/emulated/0/bdc97b284f5549d5b9d89fe6f7fcc7ba.jpg} (has extras) } from ProcessRecord{382b57 16353:cn.xzkj.chihuo/u0a189} (pid=16353, uid=10189) with revoked permission android.permission.CAMERA

网上的方法都是 用原生来判断系统版本的 ,H5+ 集成 怎么处理?????紧急!!!!



2017-08-07 18:07 添加评论 分享
已邀请:
0

龙绮knight

赞同来自:

同问


0

xwyang

赞同来自:

同问


0

同問,為什麼一直沒人回答此問題


0

H5_flymorn

赞同来自:

安卓6.0(API >= 23)开始实行权限的动态管理,而目前5+SDK并未实现动态授权管理,因此建议安卓离线打包时设置较低的【targetSdkVersion】 来解决这个问题,目前建议编译目标设置为Android 4.4(API 19)。

以下为危险的权限,需要动态授权:
×××××××××××××××××××××××××××××××××
身体传感器
日历
摄像头
通讯录
地理位置
麦克风
电话
短信
存储空间
×××××××××××××××××××××××××××××××××

其他的权限不受影响,所以在做这些危险操作的时候需要提示用户授权。

否则报错如下:
java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3 cmp=com.android.camera/.Camera clip={text/uri-list U:file:///storage/emulated/0/bdc97b284f5549d5b9d89fe6f7fcc7ba.jpg} (has extras) } from ProcessRecord{382b57 16353:cn.xzkj.chihuo/u0a189} (pid=16353, uid=10189) with revoked permission android.permission.CAMERA


要回复问题请先登录注册