我想让我的应用程序像一个始终运行的进程一样在后台运行。
我需要它,因为我想每 2 分钟(经度、纬度)更新一次 GPS 的位置并在方法中使用信息。
为此,我需要在手机处于睡眠状态或不在应用程序的 UI 中运行应用程序,换句话说,我需要应用程序始终运行。
我相信有一种方法可以做到这一点,无论如何感谢您的任何答案:)
这只是我找到的第一个谷歌搜索结果: http://www.vogella.com/articles/AndroidServices/article.html
这里的答案是使用服务,如果缺少本教程,则还有其他 64 亿个服务。
我们有这样的东西,但它由几个部分组成。
首先,您希望代码作为Service
运行(并在清单中注册)
您可能还需要请求android.permission.RECEIVE_BOOT_COMPLETED
以便可以编写和注册一个BroadcastReceiver
,该通过android.intent.action.BOOT_COMPLETED
操作及其onReceive
方法启动服务来接收通知。
在我们的例子中,我们还有一个前端活动,它也戳服务以确保它正在运行,但是我已经检查了一段时间,看看这是否仍然需要。
我们的服务几乎是空的,onCreate
立即调用一个自定义Handler
,然后管理"ticks",唤醒Handler
并在有工作要做时触发Runnable
,但这就是我的代码与您的代码不同的地方。在我们的例子中,我们只尝试在服务"滴答作响"(通常每分钟)并且有工作要做时更新 GPS 位置。它通常每天只为每个客户端执行几十个操作,所以我不能真正建议它将如何影响电池使用。