我想创建一个应用程序,它需要知道相机何时打开,相机应用程序是否打开或第三方应用程序是否正在使用相机。这可能吗?
答案 0 :(得分:1)
尝试此代码(来自Android developer):
/** A safe way to get an instance of the Camera object. */
public static Camera getCameraInstance(){
Camera c = null;
try {
c = Camera.open(); // attempt to get a Camera instance
}
catch (Exception e){
// Camera is not available (in use or does not exist)
}
return c; // returns null if camera is unavailable
}
答案 1 :(得分:0)
添加到MâyVàBãos的回答,
打开相机有两种方法 - Camera.open() - 提供默认摄像头 - Camera.open(int id) - 在这里你可以为大多数手机提供一个ID(CameraInfo.CAMERA_FACING_BACK或CameraInfo.CAMERA_FACING_FRONT,我还没有尝试使用LGs 3d相机:P)
如果你得到一个异常或null相机对象,那意味着 - 相机不存在 - 相机由其他应用程序打开,但尚未发布。
在这两种情况下,除了在UI中显示某些消息(如祝酒词)
之外,您无法做很多事情如果你有一个有效的相机,你可以对它进行操作,如startpreview,停止预览,拍照。
当使用相机的活动进入后台时,几乎所有使用相机的市场应用程序都会释放相机。以便其他应用可以使用它。这也是正确的方法
希望这有帮助。
此致 Shrish