1

要检查相机是否正在运行,我正在编写这些代码

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 模拟器中获得正确的结果,但是在真实设备中进行测试时,我无法获得正确的结果。根据CommonsWare在此处发布的答案,我认为他是正确的。所以朋友们可能知道如何以编程方式获取相机开/关状态。

4

1 回答 1

2

试试这个它的工作!

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=====");
    }
于 2012-09-28T11:27:06.857 回答