android - 相机在 Monaca Debugger 中有效,但在 Debug Build 中无效
问题描述
因此,我正在开发一个新应用程序,该应用程序使用相机在 Android 上进行实时视频 OCR。无论如何,该应用程序在 Monaca 调试器中运行良好。然后当我进行调试或发布构建时,相机将无法工作。
在初始加载时,应用程序会提示允许摄像头,但即使在点击允许后,权限响应也会被永久拒绝。我已经尝试过 Android 权限插件、诊断插件和自定义配置插件,但都无法解决这个问题,或者我没有正确使用它们。
在调试器中使用该应用程序时,我会收到 2 个权限的提示,这两个权限都与相机或存储有关,但在调试版本中,我只获得了相机的权限。这是初步检查:
ons.ready(function(){
cordova.plugins.diagnostic.isCameraPresent(function(present){
console.log("Camera is: "+present)
if(present) {
cordova.plugins.diagnostic.isCameraAuthorized({
successCallback: function(authorized){
if (authorized){
showToast("App is authorized access to the camera","green");
} else {
setPermissions();
}
},
errorCallback: function(error){
console.error("The following error occurred: "+error);
},
externalStorage: true
});
} else
document.getElementById('msg').innerHTML='Camera is not present.';
}, function(error){
console.log('The following error occurred: '+error);
});
});
function setPermissions(){
cordova.plugins.diagnostic.requestCameraAuthorization({
successCallback: function(status){
showToast("Authorization request for camera use was " + (status == cordova.plugins.diagnostic.permissionStatus.GRANTED ? "granted":"denied"),(status == cordova.plugins.diagnostic.permissionStatus.GRANTED ? "green":"red"));
},
errorCallback: function(error){
console.error(error);
},
externalStorage: true
});
}
解决方案
我使用 Cordova-Custom-Config 插件解决了这个问题。我过去曾尝试过,但我猜没有阅读足够接近的文档。您需要以下内容:
<widget xmlns:android="http://schemas.android.com/apk/res/android">
<platform name="android">
<custom-config-file target="AndroidManifest.xml" parent="/*">
<uses-permission android:name="android.permission.CAMERA" />
</custom-config-file>
</platform>
这解决了发布版本中的权限问题。
推荐阅读
- php - 在 woocommerce wordpress 产品页面上格式化产品和变体 SKU
- php - 如何单击带有 url 的复选框?
- javascript - 如何使用 DOM 的信息(或通过 id)删除 JSON 对象?
- sql - 条件必须具有静态类型的布尔
- python - postgresql COPY TABLE 不包括表行
- flask - Heroku Flask .json() 不工作 500 错误
- r - R:将具有不同行信息的列拆分为多列
- html - 如何使用 CSS 获得带有边框半径的部分圆形边框?
- maven - GitHub 缓存与子目录中的 Maven 项目
- mysql - SQL - 按同一张表中的 3 列分组,平均