Android Camera v1 API lock() 似乎不起作用
Android Camera v1 API lock() does not appear to work
我正在编写一个 Android 应用程序,它使用 v1 相机 API 来流式传输预览帧。即使它不在前台,它也需要能够获取预览帧。到目前为止,我已经让一切正常工作。 (例如,如果导航到主屏幕,我的应用程序仍会收到预览帧)。但是,camera.lock()
似乎无法正常工作,因为如果我打开另一个使用相机的应用程序(例如默认相机应用程序),那么我的应用程序将停止接收预览帧,而相机应用程序会成功打开相机。根据 documentation 如果我锁定了相机,其他进程应该无法使用它。有趣的是,当我的应用程序在后台 运行 时,通知栏上的手电筒按钮变灰了。似乎手电筒代码被正确锁定,但不是默认的相机应用程序。有人对此有一些见解吗?
camera.lock
API 专为应用程序和 MediaRecorder 都可以访问 Camera
对象的视频录制用例而设计。
对于您指出的场景,Android 相机框架将始终允许前台应用程序成功打开相机(并强制关闭不再位于前台的其他应用程序的相机对象)。这是为了避免一个(编写不当或恶意的)应用程序阻止所有其他应用程序访问相机。
我正在编写一个 Android 应用程序,它使用 v1 相机 API 来流式传输预览帧。即使它不在前台,它也需要能够获取预览帧。到目前为止,我已经让一切正常工作。 (例如,如果导航到主屏幕,我的应用程序仍会收到预览帧)。但是,camera.lock()
似乎无法正常工作,因为如果我打开另一个使用相机的应用程序(例如默认相机应用程序),那么我的应用程序将停止接收预览帧,而相机应用程序会成功打开相机。根据 documentation 如果我锁定了相机,其他进程应该无法使用它。有趣的是,当我的应用程序在后台 运行 时,通知栏上的手电筒按钮变灰了。似乎手电筒代码被正确锁定,但不是默认的相机应用程序。有人对此有一些见解吗?
camera.lock
API 专为应用程序和 MediaRecorder 都可以访问 Camera
对象的视频录制用例而设计。
对于您指出的场景,Android 相机框架将始终允许前台应用程序成功打开相机(并强制关闭不再位于前台的其他应用程序的相机对象)。这是为了避免一个(编写不当或恶意的)应用程序阻止所有其他应用程序访问相机。