Cordova + Android 6 盒
Cordova + Android 6 doze
我为 Android 开发了一个套接字应用程序(实时)。一切正常,直到 Android 6 更新带来 "doze" 模式。有没有防止打瞌睡的插件?这使我的应用程序无用,因为当应用程序进入打瞌睡模式时,应用程序无法再使用网络连接。我是 运行 后台模式插件,但这还不够,打瞌睡接管了。
谢谢。
编辑: 根据 Emanuel 的评论,我发现 this post 关于它但没有有效答案。
如何将我的应用程序添加到白名单,使其不会在 "doze" 之前停止?我在任何地方都找不到任何信息...除了 this doc,但没有说明如何添加到白名单。由于我的应用程序不依赖于 GCM,我应该很好,如果我能找到如何添加我的应用程序!
没有防止打瞌睡的插件
但用户可以在“设置”>“电池”>“电池优化”中手动配置白名单。或者,系统为应用程序提供了要求用户将它们列入白名单的方法。
应用可以触发 ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS 意图,将用户直接带到电池优化,他们可以在其中添加应用。
检查这个:https://developer.android.com/training/monitoring-device-state/doze-standby.html
使用此 cordova 插件从电池优化设置中以编程方式列出 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);
});
我为 Android 开发了一个套接字应用程序(实时)。一切正常,直到 Android 6 更新带来 "doze" 模式。有没有防止打瞌睡的插件?这使我的应用程序无用,因为当应用程序进入打瞌睡模式时,应用程序无法再使用网络连接。我是 运行 后台模式插件,但这还不够,打瞌睡接管了。 谢谢。
编辑: 根据 Emanuel 的评论,我发现 this post 关于它但没有有效答案。
如何将我的应用程序添加到白名单,使其不会在 "doze" 之前停止?我在任何地方都找不到任何信息...除了 this doc,但没有说明如何添加到白名单。由于我的应用程序不依赖于 GCM,我应该很好,如果我能找到如何添加我的应用程序!
没有防止打瞌睡的插件
但用户可以在“设置”>“电池”>“电池优化”中手动配置白名单。或者,系统为应用程序提供了要求用户将它们列入白名单的方法。
应用可以触发 ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS 意图,将用户直接带到电池优化,他们可以在其中添加应用。
检查这个:https://developer.android.com/training/monitoring-device-state/doze-standby.html
使用此 cordova 插件从电池优化设置中以编程方式列出 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);
});