0

我正在使用相机在前台服务中拍照,可以长期使用,例如 5 到 10 小时。问题是当前台服务正在运行时另一个应用程序开始使用相机时,它会停止拍照并且用户必须手动重新启动服务。

我正在循环拍照(我初始化相机实例拍照然后释放相机并重复)。我在这里看到的解决方案是,在每次循环迭代开始时,我应该添加一个检查以查看相机当前是否正在使用中。

如何准确检查相机是否被设备上的任何其他应用程序或进程使用?还是有更好的方法来解决我的问题?

4

1 回答 1

0

这对我有用!

如果返回 true,则表示相机空闲

public boolean isCameraFree() {
        Camera camera = null;
        try {
            camera = Camera.open();
        } catch (RuntimeException e) {
            return false;
        } finally {
            if (camera != null) camera.release();
        }
        return true;
    }
于 2022-03-04T11:24:38.963 回答