【问题标题】:Check if GPS enabled on node.js + cordova + ionic app and if GPS disabled, notify the user and direct him to settings to switch on GPS检查是否在 node.js + cordova + ionic 应用程序上启用了 GPS,如果 GPS 已禁用,通知用户并引导他进入设置以打开 GPS
【发布时间】:2017-05-04 02:45:57
【问题描述】:

我正在使用 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。有人可以告诉我如何完成这项工作吗?

【问题讨论】:

    标签: javascript node.js cordova ionic-framework


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      有一个非常好的科尔多瓦插件。它不仅检查位置是否打开,而且您可以要求不同的准确性并打开它们,而无需将用户重定向到他的位置设置。

      cordova-plugin-request-location-accuracy

      cordova.plugins.locationAccuracy.request(function(success){
        console.log("success");
      },function(err){
         console.log("fail. Prompt will show up, turn on location serives or use precise location");
      },cordova.plugins.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY)
      

      【讨论】:

        猜你喜欢
        • 2016-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-11
        • 2014-04-26
        • 2011-08-27
        • 1970-01-01
        相关资源
        最近更新 更多