简体   繁体   English

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

[英]Hybrid Cordova App callback for location permission alert

I have a cordova hybrid app which using location permission. 我有一个使用location权限的cordova混合应用程序 so is there anyway in JavaScript to detect the action performed on alert popup either allow or cancel . 因此, JavaScript仍然可以检测在警报弹出窗口上执行的操作allowcancel something like in Android we have callback onRequestPermissionsResult . 在Android中,我们有回调onRequestPermissionsResult

在此处输入图片说明

i'm using Geolocation API for getting location navigator.geolocation 我正在使用Geolocation API获取位置navigator.geolocation

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

You can do so by using cordova-diagnostic-plugin to request location permission: 您可以通过使用cordova-diagnostic-plugin来请求位置许可来做到这一点:

Configure it: 配置它:

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

Install it: 安装它:

$ cordova plugin add cordova.plugins.diagnostic

Use requestLocationAuthorization() : 使用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);
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM