0

I have a cordova hybrid app which using location permission. so is there anyway in JavaScript to detect the action performed on alert popup either allow or cancel. something like in Android we have callback onRequestPermissionsResult.

enter image description here

i'm using Geolocation API for getting location navigator.geolocation

navigator.geolocation.getCurrentPosition((position)=> {
    console.log(position);
});
Shiv Kumar Baghel
  • 2,464
  • 6
  • 18
  • 34

1 Answers1

0

You can do so by using cordova-diagnostic-plugin to request location permission:

Configure it:

config.xml: <preference name="cordova.plugins.diagnostic.modules" value="LOCATION" />

Install it:

$ cordova plugin add cordova.plugins.diagnostic

Use requestLocationAuthorization():

cordova.plugins.diagnostic.requestLocationAuthorization(function(status){
    switch(status){
        case cordova.plugins.diagnostic.permissionStatus.NOT_REQUESTED:
            console.log("Permission not requested");
            break;
        case cordova.plugins.diagnostic.permissionStatus.GRANTED:
            console.log("Permission granted");
            break;
        case cordova.plugins.diagnostic.permissionStatus.DENIED:
            console.log("Permission denied");
            break;
        case cordova.plugins.diagnostic.permissionStatus.DENIED_ALWAYS:
            console.log("Permission permanently denied");
            break;
    }
}, function(error){
    console.error(error);
});
DaveAlden
  • 30,083
  • 11
  • 93
  • 155
  • sorry but don't want use this plugin any other method we have which will give call back like `navigator.permissions.query({name:'geolocation'})` . – Shiv Kumar Baghel Oct 12 '18 at 07:29