为了检查相机是否正在运行,我正在编写这些代码
ActivityManager actvityManager = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
String packageName = actvityManager.getRunningTasks(1).get(0).topActivity.getPackageName();
if(packageName.equals("android.hardware.camera")||packageName.equals("com.android.camera")){
Camera_status = "STATUS_ON";
System.out.println("===on===");
}else{
Camera_status = "STATUS_OFF";
System.out.println("====off====");
}
通过使用它,我能够在 android 模拟器中获得正确的结果,但在真实设备中测试时我无法获得正确的结果。根据发布的答案 here由 CommonsWare,我认为他是正确的。所以 friend 们可能我知道如何以编程方式获取相机开/关状态。
最佳答案
尝试一下它的工作原理!!!
Camera _camera;
boolean qOpened = false;
try {
_camera=Camera.open();
qOpened=(_camera!=null);
if(qOpened){
Camera_status = "STATUS_OFF";
}else{
System.out.println("==nothing to do====");
}
} catch (Exception e) {
Camera_status = "STATUS_ON";
System.out.println("=====Camera running=====");
}
关于android - 无法获取相机运行状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12582799/