用于位置许可警报的 Hybrid Cordova App 回调
Posted
技术标签:
【中文标题】用于位置许可警报的 Hybrid Cordova App 回调【英文标题】:Hybrid Cordova App callback for location permission alert 【发布时间】:2018-10-03 03:46:24 【问题描述】:我有一个 cordova 混合应用程序,它使用 location
权限。所以无论如何在javascript
中是否有检测在allow
或cancel
弹出警报时执行的操作。
类似于在 android 中我们有回调 onRequestPermissionsResult
。
我正在使用Geolocation API
获取位置navigator.geolocation
navigator.geolocation.getCurrentPosition((position)=>
console.log(position);
);
【问题讨论】:
【参考方案1】:您可以使用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);
);
【讨论】:
对不起,但不想使用这个插件我们有任何其他方法会像navigator.permissions.query(name:'geolocation')
一样回电。以上是关于用于位置许可警报的 Hybrid Cordova App 回调的主要内容,如果未能解决你的问题,请参考以下文章
使用Hbuilder开发IOS应用上架审核提示请指定用户在位置许可模式警报中使用位置的预定用途。
如何在没有警报消息(iOS)的情况下在 webview 中获得地理定位许可?
Eclipse 无法为 Hybrid Cordova 应用程序选择 Hybrid Mobile Engine?