微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 检查node.js cordova离子应用程序上是否启用了GPS,如果禁用了GPS,请通知用户并指示他设置以打开GPS

我正在使用node,angular,ionic和cordova创建一个移动应用程序,它应该与Android 4.0.3及更高版本兼容.我希望应用程序在用户禁用GPS时弹出通知.并且通知应该具有取消和指向GPS设置的选项,以便用户手动切换GPS.

为此,我尝试了关注npm插件,但没有一个适合我.当我尝试它们时,只有闪屏显示而没有别的.

> cordova.plugins.diagnostic
> cordova-plugin-fastrde-checkgps
> cordova-plugin-android-gpsdetect

这是我尝试使用cordova.plugins.diagnostic插件代码.

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {

   if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
     cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
     cordova.plugins.Keyboard.disableScroll(true);
   }
   if (window.StatusBar) {
     StatusBar.styleDefault();
   }

   cordova.plugins.diagnostic.isGpsLocationEnabled(function(enabled){
     alert("GPS location is " + (enabled ? "enabled" : "disabled"));
   }, function(error){
     alert("error");
  });
})

在这做错了什么?我在我的代码中遵循了this.有人可以告诉我如何完成这项工作?

解决方法:

问题解决了.
我已将以下部分代码添加错误的位置.

cordova.plugins.diagnostic.isGpsLocationEnabled(function(enabled){
   alert("GPS location is " + (enabled ? "enabled" : "disabled"));
}, function(error){
   alert("error");
});

它不应该在$ionicPlatform.ready函数调用,因为插件在设备完全就绪之前没有定义我想.我把它放在我的一个控制器中,它起作用了.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐