设备在前台服务运行时是否进入打盹模式

时间:2017-06-30 21:02:08

标签: android foreground-service doze

我的应用程序需要在后台运行很长时间并定期将数据发送到服务器。我尝试过AlarmManager,但它在打盹模式下受到限制。我接下来认为是前台服务。

前台服务运行时设备是否进入休眠模式?

如果设备进入休眠模式,前台服务运行时是否限制了互联网连接?

1 个答案:

答案 0 :(得分:0)

这对我很有用,用一些模拟器和Android 6.0和7.1真实设备测试了几个小时的连续操作,网络连接永不丢失:

在主要活动onPause我获得了一个部分唤醒锁并且我使用STARTFOREGROUND_ACTION意图启动了一个服务,服务调用startForeground并显示一个通知。

On Activity onResume释放WakeLock,服务停止,STOPFOREGROUND_ACTION意图,服务本身调用stopForeground& stopSelf。

并且还可以避免在Back Key按下时销毁活动:

 @Override
    public void onBackPressed() {
         moveTaskToBack(true);
    }

当然我提供了一个菜单选项来停止背景访问并完成活动

定期询问互联网服务器的代码放在Activity中,它使用计时器。

希望它会有所帮助