我有一个 cordova混合应用程序,该应用程序具有location
权限。因此,JavaScript
中仍然可以检测到allow
或cancel
在警报弹出窗口上执行的操作。
类似于Android中的回调onRequestPermissionsResult
。
我正在使用Geolocation API
获取位置navigator.geolocation
navigator.geolocation.getCurrentPosition((position)=> {
console.log(position);
});
答案 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);
});