私のcordovaアプリケーション用の 'imagepicker'プラグインを使用して、モバイルギャラリーから画像を取得して使用することに参加しています。私はアンドロイド6.0デバイスで私のアプリをテストしています。これは問題です.Marshmallow Android 6.0は、古いバージョンのようには実行時のアクセス許可では必要ありません。 "古いバージョンでは動作していますが、api 23以降では、すぐに終了し、アプリがクラッシュします。私が検索したとき、私はそれを行う許可が必要であることがわかった。私は、「Androidの許可コルドバプラグイン」を使用し始め、彼らは、このページで提示された例をコピーして:https://www.npmjs.com/package/cordova-plugin-android-permissionsCordova App 'Android permission Cordova Plugin'が許可ダイアログを表示していません
である:
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);
}
}
コンソールいつも言う:「カメラの許可がオンになっていません」許可ダイアログは表示されません。 、
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();
近いアプリと何のダイアログも示しています
その後、私は再び検索し、この解決質問とそれ `sの答えを見つけたので、私は「コルドバ・プラグイン・診断」インストールして、このコードを試してみました私はこのプラグインをどうすればいいのですか、どうすればギャラリーを開く権限を得ることができるのでしょうか?誰かがギャラリーを開いて許可を得て画像を選んだら完全な例を教えてくれれば大きな助けになるだろう。
私の英語は申し訳ありません。
それが仕事stackoverflow.com/a/41221852/5488468 –
かもしれこれを試してみてください、あなたは完全にあなたのアプリをアンインストールし、それを再インストールしようとしていますか?これにより、以前に拒否されたアクセス許可がフラッシュされ、新しく始めることができます。 – Alex