Negação de permissão do plugin da câmera Cordova no android 6.0
Estou usando o iônico para desenvolver um aplicativo móvel. O aplicativo requer câmera. Adicionei o plugin da câmera Cordova ao meu projeto. Também estou usando o wrapper ngCordova. O aplicativo estava funcionando bem. No dia anterior, usei um dispositivo com a versão Android 6.0 (Marshmallow) para testar meu aplicativo. quando clico no botão, ele dispara diretamente o erro. Eu fiz a depuração USB, recebi o erro que
Camera Error "Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3 cmp=com.google.android.GoogleCamera/com.android.camera.CaptureActivity clip={text/uri-list U:file:///storage/emulated/0/Android/data/com.app.cameratest/cache/.Pic.jpg} (has extras) } from ProcessRecord{6fe7446 18933:com.app.cameratest/u0a471} (pid=18933, uid=10471) with revoked permission android.permission.CAMERA"
Eu pesquisei no Google e descobri que no Android 6.0, as permissões são desativadas por padrão e, quando o tempo de tentativa de acessar a câmera, ele solicita permissão. Não recebi nenhuma permissão para procurar caixa de diálogo para a câmera. Mas recebi o prompt de permissão para o plug-in de localização e o plug-in de arquivo.
Minha versão do Cordova é a versão 2.1.0 do plugin da câmera 2.1.0 Cordova android API 23
Tentei fazer o downgrade da versão Cordova do Android para 5.0 para alterar a versão de destino para o Android 22.
Aqui está o meu código
var options = {
quality: 75,
destinationType: Camera.DestinationType.FILE_URI,
sourceType: 1,
allowEdit: false,
encodingType: 0,
targetWidth: 380,
targetHeight: 450,
popoverOptions: CameraPopoverOptions,
direction: 1,
saveToPhotoAlbum: true
};
$cordovaCamera.getPicture(options).then(function(imageData) {
console.log('image data': imageData);
},function(error) {
console.error('Camera Error ', JSON.stringify(error));
});
Eu tentei atualizar o plugin para 2.1.1; Ainda não funciona. Se alguém tiver alguma solução para isso, compartilhe. Não sei por que esse plugin não solicita permissão.
A câmera está funcionando se ativarmos manualmente a permissão da câmera no menu de configurações. Não quero interromper o fluxo do usuário no meu aplicativo para isso.