未经相机许可无法打开相机“0”
Posted
技术标签:
【中文标题】未经相机许可无法打开相机“0”【英文标题】:cannot open camera "0" without camera permission 【发布时间】:2021-08-05 17:37:30 【问题描述】:我的清单中有以下内容
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.CAMERA" />
但是我收到了这个错误
An error occurred while connecting to camera 0: Status(-8, EX_SERVICE_SPECIFIC): '1: validateClientPermissionsLocked:1165: Caller ... (PID 10153, UID 6049) cannot open camera "0" without camera permission'
我正在尝试使用此代码让相机工作
public static Camera getCameraInstance()
Camera c = null;
try
c = Camera.open();
catch (Exception e)
Log.e("getCameraInstance", "exception", e);
return c; // returns null if camera is unavailable
如何让这台相机工作?
【问题讨论】:
【参考方案1】:需要在运行时启用权限。当索引为0的相机没有权限时,输出上述错误。向清单添加权限并不是在手机上启用它的原因......下面的代码将。
public static void checkCameraPermissions(Context context)
if (ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED)
// Permission is not granted
Log.d("checkCameraPermissions", "No Camera Permissions");
ActivityCompat.requestPermissions((Activity) context,
new String[] Manifest.permission.CAMERA ,
100);
【讨论】:
嘿,只有代码的答案不是这里的常态。也许您可以在它周围添加一些措辞,解释 OP 做错了什么以及这段代码如何修复它? @SoftwareEngineer 完成!以上是关于未经相机许可无法打开相机“0”的主要内容,如果未能解决你的问题,请参考以下文章