我想了解相机在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);
}
我需要手机上的相机/相机信息。
一般情况下,我建议您阅读API级别21或更高级别的Camera API Guide。在那里你可以找到特色信息和这段代码:
/** Check if this device has a camera */
private boolean checkCameraHardware(Context context) {
if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)){
// this device has a camera
return true;
} else {
// no camera on this device
return false;
}
}