每当其他任何应用程序打开或访问照相机时,我都希望得到通知。我已经知道我可以检查Camera.open()
及其异常。但是为此,我必须每次使用服务时都要检查一次,但它会耗尽电池,所以我想每当打开相机时都会通知我并获取其包装名称。我已经读过这些。
How to find whether the camera is in use?
How to check if camera is opened by any application
最佳答案
您可以使用Camera2
的API提供的回调来完成此操作。
在您的CameraManager
对象中,可以附加一个CameraManager.AvailabilityCallback
,它会在使用或不使用camera
对象时通知您。
关于AvailabilityCallback
:
相机设备可用或无法使用的回调
打开。
当不再使用相机或新相机时,相机可用
连接了可移动相机。它们在某些情况下变得不可用
应用程序或服务开始使用相机或可移动设备
相机已断开连接。
您可以在official documentation中研究有关它的更多信息。