将应用程序始终保持在堆栈顶部(ANDROID)

时间:2016-04-05 07:52:29

标签: java android performance service

引言

我希望我的应用程序始终位于应用程序堆栈之上,因此在内存不足的情况下,应用程序永远不会从内存中删除。该应用程序通常提取位置并保存在数据库中,主要在后台运行。这项工作主要在服务(前台服务)中完成。为此目的,服务必须连续运行而不会中断。

我的 理论

我想到的解决方案是在某个时间间隔内我开始活动并关闭它。并将应用程序带到后台。通过这种方式,应用程序将始终位于堆栈之上。但在这种情况下,整个应用程序将来到前台,我想再次把它带到后台。但这会(可能)将它保持在堆栈之上。

现在尝试

  • 我已经尝试过通知服务但在内存不足时失败了 条件通知服务也被删除。
  • 尝试定期更新通知服务的消息,但没有好处。
  • START_STICKY & START_REDELIVER_INTENT 但仍未取得好成绩。

研究

我看过thisthisthisthis SO链接,但没有取得好成绩。

我不希望我的活动从堆栈中移除,并且服务只要它想要运行而不会因内存不足而中断。

更新

我尝试使用moveTaskToBack()。我刚刚启动了一项服务,并在每个时间间隔启动一个活动然后完成它并调用moveTaskToBack()。但是当设备被锁定时,它会将堆叠中的前一个应用程序带到前面并向后退一步。我不想要那个。但是在正常的设备解锁状态下工作正常。

有没有人有任何建议。

0 个答案:

没有答案