android - 无法获取相机运行状态

标签 android camera

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

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/

相关文章:

android - 尝试关闭相机 LED 时,应用程序崩溃

camera - Three.js 相机向上或向下倾斜并保持水平水平

xcode - Opencv相机姿态估计

android - 属性(android :textSize ="?android:attr/textAppearanceMedium") throws error

java - 自定义ArrayAdapter,super无法解析

java - 如何使用带有@SerializedName 注释的gson 进行序列化?

ios - Xcode模拟器中相机的用途

android - 导航 fragment 与 JetPack 库的依赖关系

没有自定义 ListView 适配器的 Android 设置 ListView 单元格的元素

android - SurfaceView 位于 SurfaceView 之上