我有这样的代码来检查相机的权限.
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或更低版本中的相机权限所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)