내 코드 냐 앱에 'imagepicker'플러그인을 사용하여 모바일 갤러리에서 이미지를 가져와 사용하고 있습니다. 나는 안드로이드 6.0 장치에서 내 애플 리케이션을 테스트하고있다. marshmallow 안드로이드 6.0은 이전 버전과 달리 런타임 권한이 필요하다. "이전 버전에서는 작동하지만 아파치 23 이상에서는 갤러리를 열 때 사용한다. 즉시 닫히고 앱이 다운됩니다. 내가 검색했을 때 나는 그것을 할 허가가 필요하다는 것을 알았다. 그래서 내가 "안드로이드 권한 코르도바 플러그인"을 사용하기 시작하고이 페이지에 제시된 예를 복사하여 : https://www.npmjs.com/package/cordova-plugin-android-permissions코르도바 앱 'Android 권한 코르도바 플러그인'에 권한 대화 상자가 표시되지 않습니다.
입니다 :
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();
가까운 응용 프로그램과 어떤 대화도 보여줍니다 :
는 다시 검색이 해결 질문`의 답을 발견, 그래서 내가 '코르도바 - 플러그인 진단'를 설치하고이 코드를 시도 나는이 플러그인이 무엇을해야하고 어떻게 갤러리를 열 수있는 권한을 얻을 수 있는지 모르겠다. 누군가가 나에게 갤러리를 열어 전체 예제를 보여주고 허락을 받아 이미지를 선택할 수 있다면 큰 도움이 될 것입니다.
영어로 죄송합니다. 인내심에 감사드립니다.
시도해보십시오. 작업 stackoverflow.com/a/41221852/5488468 –
앱을 완전히 제거하고 다시 설치해 보았습니까? 이전에 거부 된 사용 권한을 없애고 새로운 시작을 제공 할 수 있습니다. – Alex