引言
我希望我的应用程序始终位于应用程序堆栈之上,因此在内存不足的情况下,应用程序永远不会从内存中删除。该应用程序通常提取位置并保存在数据库中,主要在后台运行。这项工作主要在服务(前台服务)中完成。为此目的,服务必须连续运行而不会中断。
我的 理论
我想到的解决方案是在某个时间间隔内我开始活动并关闭它。并将应用程序带到后台。通过这种方式,应用程序将始终位于堆栈之上。但在这种情况下,整个应用程序将来到前台,我想再次把它带到后台。但这会(可能)将它保持在堆栈之上。
现在尝试
研究
我看过this,this,this和this SO链接,但没有取得好成绩。
我不希望我的活动从堆栈中移除,并且服务只要它想要运行而不会因内存不足而中断。
更新
我尝试使用moveTaskToBack()。我刚刚启动了一项服务,并在每个时间间隔启动一个活动然后完成它并调用moveTaskToBack()。但是当设备被锁定时,它会将堆叠中的前一个应用程序带到前面并向后退一步。我不想要那个。但是在正常的设备解锁状态下工作正常。
有没有人有任何建议。