首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android 7.0 (Nougat) Doze模式停止Web服务

Android 7.0 (Nougat) Doze模式停止Web服务
EN

Stack Overflow用户
提问于 2016-09-30 00:32:08
回答 1查看 968关注 0票数 19

我有一个带有WiFi锁的安卓前台服务,它充当另一个本地设备的web服务。在Doze模式出现之前,获取WiFi锁并按需提供服务效果很好。

即使关闭了我的应用程序的电池优化,当屏幕关闭几分钟时,手机仍然会关闭应用程序。

我如何正确地提醒Android,客户明确请求的服务正在前台执行,而他们不希望自己的手机此时进入睡眠状态?

编辑:此问题在Android 8.0 (Oreo)中仍然存在

EN

回答 1

Stack Overflow用户

发布于 2017-05-09 12:46:12

你可以这样做:就像你调用你的服务一样,你可以添加一个代码来保持屏幕唤醒。这将避免手机自动锁定。下面是文档中的示例代码片段。

代码语言:javascript
复制
    public class MainActivity extends Activity {
      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //keep screen awake
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
      }

这种方法的优点是,与唤醒锁不同,它不需要特殊权限,并且平台可以正确地管理用户在应用程序之间的移动,而无需担心应用程序释放未使用的资源。此外,您还可以按照本SO answer中所述的有效方式使用报警管理器

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39775601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档