【发布时间】:2019-04-27 17:10:13
【问题描述】:
我想了解相机在 android 中是开/关的。我使用 android api 29,我只找到了早期版本的示例。 我的后台服务目前正在收集其他应用程序的工作数据,我需要知道相机是否打开。我不需要使用相机。我只需要状态。
另一个例子,我不明白,它是如何工作的。
private void registerCameraState() {
cm = (CameraManager)getSystemService(Context.CAMERA_SERVICE);
handler = new Handler();
cm.registerAvailabilityCallback(new CameraManager.AvailabilityCallback() {
@Override
public void onCameraAvailable(String cameraId) {
super.onCameraAvailable(cameraId);
isCameraOpened = false;
}
@Override
public void onCameraUnavailable(String cameraId) {
super.onCameraUnavailable(cameraId);
isCameraOpened = true;
}
},handler);
}
我需要手机摄像头的关闭/开启信息。
【问题讨论】:
-
我觉得你需要知道相机的状态,参考this question
-
您找到的示例让您的应用程序知道相机设备在运行时是否可用或不可用。当相机设备可用时,您的应用可以打开此相机设备。此时,在您的应用释放相机之前,其他应用将无法打开相机设备。如果你想知道,你的应用是否打开了摄像头,你必须依赖你的私有逻辑。
-
@AlexCohn 我的后台服务正在收集其他应用程序的工作数据,我需要知道相机是否打开。我不需要使用相机,我只需要状态。
-
所以,
CameraManager.AvailabilityCallback似乎正是您所需要的。
标签: java android android-camera