java - 在节电模式 Android 上运行后台服务

标签 java android background-process

我有一个发送 http 请求的服务,它在后台运行并且在“正常模式”下工作正常。问题是当我将手机置于“省电模式”时,该服务无法正常工作。但是,像 Whatsapp 这样的应用程序仍然可以使用。你知道发生了什么事吗?

最佳答案

像 Whatsapp 这样的移动应用程序必须请求许可才能免除打瞌睡/省电和应用程序待机模式。

可以通过在设置 > 电池 > 电池优化 中配置白名单来手动配置此功能。

或者从 API 23 开始,您可以使用权限模型请求用户将他们列入白名单(引用 this )。来自 API 您还可以通过调用 isIgnoringBatteryOptimizations() 检查您的应用当前是否在白名单中

但是你需要满足某些criteria因为能够将自己列入白名单。否则,您在 Google Play 商店中维护应用程序时会遇到问题。

但大多数消息应用程序(如 Whatsapp)都是通过高优先级推送通知触发的,因此即使没有运行后台进程,它们也更有可能处于 Activity 状态。

关于java - 在节电模式 Android 上运行后台服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49639229/

相关文章:

android - DownloadManager 没有开始下载文件

java - 尝试导航到 Activity 时主题操作栏出错

android - 在 Android 中异步发送 HTTP GET 请求的最佳方式?

java - 初级 Java 开发人员 Netbeans/Eclipse IDE 问题

java - java中的嵌套接口(interface)

java - 如何使用相同元素和其他元素映射 XML Wrapper

java - DId Quicktime 7.6.5 Windows 修复了 QT for Java? JavaFX 的最佳视频?

android - 警报管理器中的字符串丢失

python - stdin 从管道循环进程中读取 python

redis - Multi-Tenancy resque,避免一个租户阻塞队列