cordova地理定位插件不起作用

时间:2017-10-04 15:37:02

标签: android cordova geolocation cordova-plugins

设备: Android
目标版本: 25
Cordova版本: 7.0.1

我正在使用cordova-plugin-geolocation https://www.npmjs.com/package/cordova-plugin-geolocation,但有些设备不起作用。我试过这个应用程序 使用这些设备:

  1. 华为P9 Lite VNS-L31 Android 7.0 --->工作
  2. 华为P9 Lite VNS-L21 Android 7.0 --->只有在我不允许对应用程序进行电池优化时才能工作。
  3. 华为P9 Android 7.0 - >不起作用
  4. One Plus 3 Android 7.1.1 - >工作
  5. Samsung S8 Android 7.0 - >工作


  6. 代码:

    navigator.geolocation.getCurrentPosition(onSuccessPoint, onErrorPoint,{ timeout:10000 });
     var onSuccessPoint = function (position) {
    ///SUCCESS CODE
    }
    function onErrorPoint(error) {
    //ERROR CODE
    }
    

1 个答案:

答案 0 :(得分:0)

您的应用必须在后台模式下运行,如果您的应用未在电池优化下列出为白色,则您的应用将无法运行。使用此cordova插件通过电池优化将您的应用列入白名单,

安装

cordova plugin add https://github.com/thomas550i/cordova-plugin-doze-Optimize

JavaScript代码

cordova.plugins.DozeOptimize.IsIgnoringBatteryOptimizations(function (responce){
  console.log("IsIgnoringBatteryOptimizations: "+responce);
      if(responce=="false")
      {
        cordova.plugins.DozeOptimize.RequestOptimizations(function (responce){
          console.log(responce);
        }, function (error){
        console.error("BatteryOptimizations Request Error"+error);          
        });
      }
      else
      {
        console.log("Application already Ignoring Battery Optimizations");
      }     
}, function (error){
console.error("IsIgnoringBatteryOptimizations Error"+error);    
});