我的应用程序使用调用设备的相机应用程序
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我仍然无法加载相机。
我的政策是:
{"应用程序":[{"packageName":"**************","installType":"FORCE_INSTALLED","defaultPermissionPolicy":"GRANT"}],"debuggingFeaturesAllowed":true,"addUserDisabled":true,"adjustVolumeDisabled":true,"outgoingCallsDisabled":true,"locationMode":"HIGH_ACCURACY","cameraDisabled":false,"screenCaptureDisabled":true,"defaultPermissionPolicy":"GRANT","wifiConfigDisabled":false,"dataRoamingDisabled":false,"smsDisabled":true,"factoryResetDisabled":false,"uninstallAppsDisabled":true,"tetheringConfigDisabled":true,"shareLocationDisabled":false,"funDisabled":true,"appAutoUpdatePolicy":"WIFI_ONLY","systemUpdate":{"type":"WINDOWED","startMinutes":10,"endMinutes":1430},"kioskCustomLauncherEnabled":true,"kiosk自定义":{"deviceSettings":"SETTINGS_ACCESS_ALLOWED"}}
更新:我最终使用CameraX库来创建我自己的相机。
在二维码注册期间,您可能会禁用系统应用程序。
现在,对于您的问题,您必须找到设备的default camera app
的package name
,并在策略中启用它。
例如,Snapdragon相机是我的Zebra设备上的默认相机:
"applications": [
{
"packageName": "org.codeaurora.snapcam",
"installType": "FORCE_INSTALLED"
}
]
}
我知道每个设备品牌的相机应用程序都会有所不同,但由于系统应用程序被禁用,这就是我一直在使用的方式。