如果有任何应用正在使用相机,请跟踪以下代码
public boolean isCameraBusy() {
Camera camera = null;
try {
camera = Camera.open();
} catch (RuntimeException e) {
return true;
} finally {
if (camera != null) camera.release();
}
return false;
}
我需要在onResume方法中使用这个..我的应用程序正在使用相机,所以每次恢复时它都会很忙.. 有没有办法绕过它?
答案 0 :(得分:0)
您的代码获取相机实例然后将其释放 当你完成使用它而不是在获得对实例的引用之后你应该释放它。
你应该在onPause()方法上使用release方法修改强>
然后你应该在onResume()上这样做:
if (camera != null) camera.release();
try {
camera = Camera.open();
} catch (Exception e) {
//do something
}
答案 1 :(得分:0)
您可以使用方法Camera.open(cameraId)
如果相机将被其他应用程序打开,则会抛出异常。
示例:
public boolean isCameraUsebyAnotherApp() {
Camera camerastatus = null;
try {
camerastatus = Camera.open();
} catch (RuntimeException e) {
return true;
} finally {
if (camerastatus != null) camerastatus.release();
}
return false;
}
这可以帮助你。