android相机代码权限,Android – 相机权限被拒绝而没有提示

我遇到了请求权限背后的手动过程的问题(只是一直陷入’拒绝’代码),所以我切换到使用Dexter来简化.我在onCreate()中实现了以下代码,然后我对应用程序进行了全新安装:

Dexter.withActivity(this)

.withPermission(Manifest.permission.CAMERA)

.withListener(new PermissionListener() {

@Override public void onPermissionGranted(PermissionGrantedResponse response) {

Log.d(TAG, "GRANTED!");

initCamera();

}

@Override public void onPermissionDenied(PermissionDeniedResponse response) {

Log.d(TAG, "DENIED!");

}

@Override public void onPermissionRationaleShouldBeShown(PermissionRequest permission, PermissionToken token) {

Log.d(TAG, "PERMISSION RATIONAL SHOULD BE SHOWN!");

}

}).check();

它立即陷入“拒绝!”记录,它甚至从未提示过我.我尝试了这个特定的代码来尝试多个权限(这最终是我需要做的):

Dexter.withActivity(activity)

.withPermissions(Manifest.permission.CAMERA,

Manifest.permission.RECORD_AUDIO,

Manifest.permission.READ_EXTERNAL_STORAGE,

Manifest.permission.WRITE_EXTERNAL_STORAGE)

.withListener(new MultiplePermissionsListener() {

@Override

public void onPermissionsChecked(MultiplePermissionsReport report) {

Log.d(TAG, "Accepted: " + report.getGrantedPermissionResponses().size() + " | Denied: " + report.getDeniedPermissionResponses().get(0).getPermissionName());

}

@Override

public void onPermissionRationaleShouldBeShown(List permissions, PermissionToken token) {

Log.d(TAG, "continuing permissions request..");

token.continuePermissionRequest();

}

})

.check();

它提示录制音频的权限,然后询问有关设备上的照片/媒体/文件的访问权限(它从不询问相机).然后,一旦完成,它会打印日志:“Accepted 3 | Denied:android.permission.CAMERA”.它甚至没有再提示我就否认它.

我的Manifest设置正确,使CAMERA位于适当的位置(‘application’标签之外).见下文供参考:

package="com.my.app">

android:name="android.hardware.camera"

android:required="true" />

android:name="${applicationId}.permission.C2D_MESSAGE"

android:protectionLevel="signature" />

etc..

奇怪的是,当我进入设置>应用> MyApp,Camera选项甚至没有显示在那里.

我不认为这是Dexter的一个问题,因为当我手动设置它时,它基本上做了同样的事情(我确认在查看几个顶级的S.O.帖子后,它确实在这种情况下正确设置).

关于这个问题可能在这里的任何想法?仅供参考 – 我使用的是Galaxy S6,OS 6.0.2.遇到这种情况的其他用户似乎是具有6.0 OS的其他设备.提前致谢!

编辑:

测试各种设备,它适用于某些设备,但不适用于某些设备:

> Moto X(OS 5.0) – 破碎

> Nexus 5(OS 7.0) – 正常工作

>三星S6(OS 6.0.1) – 破碎

>破碎的Moto X(OS 6.0) – 工作

似乎不是一个坚实的模式..绝对奇怪.我也开始了一个全新的项目并运行相同的代码 – 工作正常并允许访问我的相机.所以它似乎并不完全是设备特定的..

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值