0

在这一点上,我不是 100% 了解 Android 生命周期。我想运行一个进程/线程,我不确定这里的正确术语,手机一直处于开启状态,并且它在没有用户激活应用程序的情况下运行。对于我正在开发的游戏的一部分,我想定期将用户的粗略位置传输回服务器,并从服务器获取一些数据。在android中解决这个问题的正确方法是什么?

4

2 回答 2

3

你必须看看Android服务。在这里你可以找到关于这个主题的很好的介绍。

此外,为了检测用户何时插入/拔出耳机,您必须使用BroadcastReceiver. 这里已经是关于这个的话题了。

于 2013-03-03T22:44:21.533 回答
1

如果此后台进程所做的工作不仅仅是上传位置,那么@niculare 的答案确实是正确的。

但是,如果这个后台进程唯一能做的就是这个上传,那么有更多的电池效率方法可以做到这一点。您可以创建一个BroadcastReceiver来接收来自系统的位置更新并进行上传。如果你在上传前需要一些小的处理,你甚至可以从 BroadcastReceiver 启动一个服务,然后服务将处理数据,上传完成。

同样对于这两种情况,您可能需要一个 BroadcastReceiver 来接收OnBoot广播,知道移动设备刚刚启动,并注册这些东西。

小更新 您注册此方法以使用此侦听器进行位置更新

于 2013-03-03T22:54:10.243 回答