gpt4 book ai didi

Cordova 应用程序 'Android permission Cordova plugin' 未显示权限对话框

转载 作者:行者123 更新时间:2023-12-02 13:19:46 32 4
gpt4 key购买 nike

我正在为我的cordova应用程序使用“imagepicker”插件来从移动图库获取图像并使用它们。我正在 android 6.0 设备上测试我的应用程序,这就是问题所在,marshmallow Android 6.0 需要运行时权限,不像旧版本“它正在旧版本上工作”,但在 api 23 或更高版本上,当它参加打开画廊时它立即关闭并且应用程序崩溃。当我搜索时,我发现我需要许可才能这样做。所以我开始使用“Android 权限 Cordova 插件”并复制他们在此页面中提供的示例:https://www.npmjs.com/package/cordova-plugin-android-permissions

这是:

var permissions = cordova.plugins.permissions;
permissions.hasPermission(permissions.CAMERA, checkPermissionCallback, null);

function checkPermissionCallback(status) {
if(!status.hasPermission) {
var errorCallback = function() {
console.warn('Camera permission is not turned on');
}

permissions.requestPermission(
permissions.CAMERA,
function(status) {
if(!status.hasPermission) errorCallback();
},
errorCallback);
}
}

控制台总是显示:“相机权限未打开”并且不显示权限对话框。

然后我再次搜索并找到了这个已解决的问题及其答案,因此我安装了“cordova-plugin-diagnostic”并尝试了以下代码:

function requestPermission(){
cordova.plugins.diagnostic.requestRuntimePermission(function(status){
switch(status){
case cordova.plugins.diagnostic.runtimePermissionStatus.GRANTED:
console.log("Permission granted (or already granted) - call the plugin");
// call SQLite plugin
break;
case cordova.plugins.diagnostic.runtimePermissionStatus.DENIED:
console.log("Permission denied - ask again");
alert("Come on user, we really need this. I'll ask again...");
requestPermission();
break;
case cordova.plugins.diagnostic.runtimePermissionStatus.DENIED_ALWAYS:
console.log("Permission permanently denied");
alert("Well that's it, we're dead Jim");
navigator.app.exitApp();
break;
}
}, function(error){
console.error("The following error occurred: "+error);
}, cordova.plugins.diagnostic.runtimePermission.READ_PHONE_STATE);
}
requestPermission();

应用程序关闭,也没有显示对话框,我想我无法得到这个插件应该做什么以及如何获得打开图库的权限。如果有人能给我完整的例子来打开图库并在获得许可的情况下选择图像,这将是很大的帮助。

抱歉我的英语不好,感谢您的耐心等待。

最佳答案

通过将相关权限和功能添加到platforms/android/AndroidManifest.xml,我能够获取要显示的权限请求。

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-feature android:name="android.hardware.camera" android:required="true" />

关于Cordova 应用程序 'Android permission Cordova plugin' 未显示权限对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41371495/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com