在 Android 管理 API 策略中启用设备的相机应用

Enable Device's Camera App in Android Management API Policy

我的应用使用以下方式调用设备的相机应用:

Intent pictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);


    if (pictureIntent.resolveActivity(getPackageManager()) != null) {

        File file = null;
        try {
            file = createImageFile();
            Log.d(TAG, "created imagefile ");
        } catch (IOException e) {
            e.printStackTrace();
            return;
        }
        Uri photoUri = FileProvider.getUriForFile(this, getPackageName() + ".provider", file);
        Log.d(TAG, "openCamera: " + photoUri);
        pictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);


        startActivityForResult(pictureIntent, MY_PERMISSIONS_REQUEST_CAMERA);
    }

在设置为 "cameraDisabled" 的设备中使用该应用程序时:false 我仍然无法加载相机。

我的政策是:

{ "applications": [{ "packageName": "**************", "installType": "FORCE_INSTALLED", "defaultPermissionPolicy": "GRANT" }], "debuggingFeaturesAllowed":是的, "addUserDisabled": 是的, "adjustVolumeDisabled": 是的, "outgoingCallsDisabled": 是的, "locationMode": "HIGH_ACCURACY", "cameraDisabled":错误, "screenCaptureDisabled":是的, "defaultPermissionPolicy": "GRANT", "wifiConfigDisabled":错误, "dataRoamingDisabled":错误, "smsDisabled": 是的, "factoryResetDisabled":错误, "uninstallAppsDisabled":是的, "tetheringConfigDisabled":是的, "shareLocationDisabled":错误, "funDisabled":是的, "appAutoUpdatePolicy": "WIFI_ONLY", "systemUpdate":{ "type": "WINDOWED", "startMinutes": 10, "endMinutes": 1430 }, "kioskCustomLauncherEnabled":是的, "kioskCustomization":{ "deviceSettings": "SETTINGS_ACCESS_ALLOWED" } }

更新: 我最终使用 CameraX 库来创建我自己的相机。

您可能在二维码注册期间禁用了系统应用程序。

现在对于您的问题,您必须找到设备 default camera apppackage name 并在策略中启用它。

例如,Snapdragon Camera 是我 Zebra 设备上的默认设置:

  "applications": [
    {
      "packageName": "org.codeaurora.snapcam",
      "installType": "FORCE_INSTALLED"
    }
  ]
}

我知道每个设备品牌的相机应用程序会有所不同,但在禁用系统应用程序的情况下,这就是我一直使用的方式。