【发布时间】:2016-10-09 03:16:10
【问题描述】:
我的一个应用程序在锁定屏幕上显示信息。它是锁屏上的一层。我需要知道相机何时打开,以便我可以隐藏它。就像 facebook messenger 一样,它的头是浮动的。虽然我在锁定屏幕上有浮动想象。我只需要回电即可知道应用程序何时打开了相机,这样我就可以隐藏我的想象并在相机关闭时再次显示它。
所以我发现了这个代码:
public boolean isCameraUsebyApp() {
Camera camera = null;
try {
camera = Camera.open();
} catch (RuntimeException e) {
return true;
} finally {
if (camera != null) camera.release();
}
return false;
}
问题是这不是实时的。我必须调用它。我宁愿在相机打开时得到一个系统回调,这样我就可以隐藏可能已经显示的东西。
【问题讨论】:
-
我忘记了您在
CameraManager上提到的回调(在我现在已删除的答案中)。请注意,这仅适用于 Camera2 API,因此仅适用于 API 级别 21+。此外,它仅在您运行进程时才有效。而且,坦率地说,我对这个回调的存在并不满意。