Android检查目标sdk 22或​​更低版本中的相机权限

Android检查目标sdk 22或​​更低版本中的相机权限,第1张

概述我有这样的代码来检查相机的权限.if(Build.VERSION.SDK_INT>=23){Log.e("PermissionState",ContextCompat.checkSelfPermission(activity,Manifest.permission.CAMERA)+"");//Here,thisActivityisthecurrentactivityif(ContextCompat.checkSelfPer

我有这样的代码来检查相机的权限.

if (Build.VERSION.SDK_INT >= 23) {Log.e("Permission State",ContextCompat.checkSelfPermission(activity, Manifest.permission.CAMERA)+"");// Here, thisActivity is the current activityif (ContextCompat.checkSelfPermission(activity, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED){showCameraActivityForResult(activity);}else {// No explanation needed, we can request the permission.ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.CAMERA}, Constant.MY_PERMISSIONS_REQUEST_CAMERA);}}else{showCameraActivityForResult(activity);}

问题是我总是拥有5.1或更低版本中授予的权限.其他用户也在这里说.

How can I know if my app’s camera permission is granted?

在某些设备中,例如三星,用户可以从设备设置中禁用相机权限,因此,当用户打开我的应用并点击相机时,它始终显示为空白.如何检测用户是否可以使用相机? (它必须与我的代码不同,因为它无法正常工作.)

解决方法:

如果使用AppCompatActivity,则可以使用checkSelfPermission来检查是否已授予权限.

if (ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {     if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) context, Manifest.permission.CAMERA)) {      //Show permission dialog     } else {        // No explanation needed, we can request the permission.        ActivityCompat.requestPermissions((Activity)context, new String[]{Manifest.permission.CAMERA}, code);    }}
总结

以上是内存溢出为你收集整理的Android检查目标sdk 22或​​更低版本中的相机权限全部内容,希望文章能够帮你解决Android检查目标sdk 22或​​更低版本中的相机权限所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1121067.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存