2

我想让我的应用程序在后台运行,就像一个始终运行的进程。

我需要它,因为我想每 2 分钟(经度、纬度)获取 GPS 位置更新,并在方法中使用该信息。

为此,我需要在手机处于睡眠状态或不在应用程序 UI 中时运行应用程序,换句话说,我需要该应用程序始终运行。

我确信有办法做到这一点,无论如何感谢任何答案:)

4

2 回答 2

3

这只是我发现的第一个谷歌搜索结果: http ://www.vogella.com/articles/AndroidServices/article.html

这里的答案是使用服务,如果缺少本教程还有 64 亿其他人。

于 2012-10-12T08:26:08.493 回答
1

我们有这样的东西,但它是由几个部分组成的。

首先,您将希望您的代码运行(并在清单中注册)作为Service

您可能还需要请求android.permission.RECEIVE_BOOT_COMPLETED,以便您可以编写和注册一个BroadcastReceiver通过android.intent.action.BOOT_COMPLETED操作获得通知的方法,并且它的onReceive方法启动服务。

在我们的例子中,我们还有一个前端活动,它也会戳服务以确保它正在运行,但是我检查是否仍然需要它已经有一段时间了。

我们的服务几乎是空的,并onCreate立即调用一个自定义Handler,然后管理“滴答”,如果有工作要做,它会唤醒Handler并触发一个Runnable,但这是我的代码与你的不同的地方。在我们的例子中,我们只在服务“滴答”(通常是每分钟)并且有工作要做时才尝试更新 GPS 位置。它通常每天每个客户只执行几十次操作,所以我不能真正建议它如何影响电池使用。

于 2012-10-12T08:28:12.033 回答