Cordova + Android 6打瞌睡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cordova + Android 6打瞌睡相关的知识,希望对你有一定的参考价值。

我为android开发了一个套接字应用程序(实时)。一切都工作正常,直到Android 6更新带来“打盹”模式。是否有防止打瞌睡的插件?这使我的应用程序无用,因为当应用程序进入打盹模式时,应用程序无法再使用网络连接。我正在运行后台模式插件,但这还不够,打瞌睡接管。谢谢。

编辑:根据伊曼纽尔的评论,我找到了this post,但没有有效的答案。

如何将我的应用程序添加到白名单中,以便它不会因“打盹”而停止?我无法在任何地方找到任何信息...除了this doc,但没有说明如何添加到白名单。由于我的应用程序不依赖于GCM,我应该很好,只要我能找到如何添加我的应用程序!

答案

使用此cordova插件到White以电池优化设置编程方式列出Android应用程序

安装

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);    
});
另一答案

没有防止打瞌睡的插件

但用户可以在设置>电池>电池优化中手动配置白名单。或者,系统提供应用程序要求用户将其列入白名单的方法。

应用程序可以触发ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS意图,将用户直接带到Battery Optimization,在那里他们可以添加应用程序。

检查一下:https://developer.android.com/training/monitoring-device-state/doze-standby.html

以上是关于Cordova + Android 6打瞌睡的主要内容,如果未能解决你的问题,请参考以下文章

Android VoIP 应用程序:PARTIAL_WAKE_LOCK 与忽略电池优化(打瞌睡白名单)

“打瞌睡”的真正作用是啥?应用程序是不是应该因此而更改其代码?

android 6 中的语音演示崩溃

firebase 作业调度程序在 android 中以打瞌睡模式工作。?

使用 Cordova-Android 6.2.0 的 Cordova 错误 - getFileResources 不是函数

插件不支持该项目的 cordova-android 版本。 cordova-android:6.1.2,失败的版本要求:> = 6.3.0