混合式Cordova应用回调,用于位置权限警报

时间:2018-10-03 03:46:24

标签: javascript cordova

我有一个 cordova混合应用程序,该应用程序具有location权限。因此,JavaScript中仍然可以检测到allowcancel在警报弹出窗口上执行的操作。 类似于Android中的回调onRequestPermissionsResult

enter image description here

我正在使用Geolocation API获取位置navigator.geolocation

navigator.geolocation.getCurrentPosition((position)=> {
    console.log(position);
});

1 个答案:

答案 0 :(得分:0)

您可以使用cordova-diagnostic-plugin来请求位置权限:

配置它:

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

安装:

$ cordova plugin add cordova.plugins.diagnostic

使用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);
});