android6.0权限申请

本文介绍了在Android 6.0系统中遇到的权限申请问题,包括`Cannot resolve symbol CAMERA`的编译错误以及运行时`Permission Denial`错误。解决方法包括在代码中正确请求权限,并提供了StackOverflow上的解决方案链接,详细解释了如何在用户授予权限后使用相机,以及在AndroidManifest.xml中处理权限的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Cannot resolve symbol CAMERA,如下图,这个很坑爹,会让人误以为是没有camera这个权限,实际上是因为没有引入import android.Manifest;的原因。


2.报错:Permission Denial ...with revoked permission android.permission.CAMERA

解决办法见:http://stackoverflow.com/questions/32789027/android-m-camera-intent-permission-bug

其中第二个帖子的办法

if(checkSelfPermission(Manifest.permission.CAMERA)!=PackageManager.PERMISSION_GRANTED){requestPermissions(newString[]{Manifest.permission.CAMERA},MY_REQUEST_CODE);}

@OverridepublicvoidonRequestPermissionsResult(intrequestCode,@NonNullString[]permissions,@NonNullint[]grantResults){super.onRequestPermissionsResult(requestCode,permissions,grantResults);if(requestCode==MY_REQUEST_CODE){if(grantResults[0]==PackageManager.PERMISSION_GRANTED){// Now user should be able to use camera}else{// Your app will not have this permission. Turn off all functions// that require this permission or it will force close like your// original question}}}

不过对于6.0的系统,如果在AndroidManifest.xml定义了camera权限还是会报错,要么删除camera权限,不过这可能会有隐患,要么就按照第一个帖子的办法


if(hasPermissionInManifest(AddLive.this,Manifest.permission.CAMERA)){

toCamera();

}else{

ActivityCompat.requestPermissions(AddLive.this,

new String[]{Manifest.permission.CAMERA},

1);

}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值