调用需要 API 级别 21(让 camera2 在低于 21 的设备上运行?)[重复]
Posted
技术标签:
【中文标题】调用需要 API 级别 21(让 camera2 在低于 21 的设备上运行?)[重复]【英文标题】:Call requires API Level 21 (getting camera2 to run on devices lower than 21?) [duplicate] 【发布时间】:2017-07-21 14:21:11 【问题描述】:注意到我的应用程序出现了 runtimeexceptions 和 arrayoutofboundsexception。我将问题追溯到我的代码的这个区域
mCameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
try
mCameraId = mCameraManager.getCameraIdList()[0];
catch (CameraAccessException e)
e.printStackTrace();
我收到一条错误消息,提示“调用需要 API 级别 21(当前最小值为 14):android.hardware.camera2.CameraManager#getCameraIdList
解决此问题的最佳方法是什么?
screenshot
【问题讨论】:
使用camera 1。21版本以下无法使用camera2。 【参考方案1】:在此处查看答案 - https://***.com/a/28417458/1649353。 它明确指出,如果要支持旧设备,则需要使用旧相机。试试看吧。
【讨论】:
以上是关于调用需要 API 级别 21(让 camera2 在低于 21 的设备上运行?)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
camera2(API 级别 21)是不是暴露了所有旧摄像头?
使用 Camera2(Android 版本 21)API 录制 60fps 视频
调用 Camera2 API onCaptureComplete() 但相机状态仍为 CONTROL_AE_STATE_PRECAPTURE