【发布时间】:2013-03-03 22:41:51
【问题描述】:
目前我还不是 100% 了解 Android 生命周期。我想运行一个进程/线程,我不确定这里的正确术语,手机一直处于开启状态,并且它在没有用户激活应用程序的情况下运行。对于我正在开发的游戏的一部分,我想定期将用户的粗略位置传输回服务器,并从服务器获取一些数据。在android中解决这个问题的正确方法是什么?
【问题讨论】:
标签: android
目前我还不是 100% 了解 Android 生命周期。我想运行一个进程/线程,我不确定这里的正确术语,手机一直处于开启状态,并且它在没有用户激活应用程序的情况下运行。对于我正在开发的游戏的一部分,我想定期将用户的粗略位置传输回服务器,并从服务器获取一些数据。在android中解决这个问题的正确方法是什么?
【问题讨论】:
标签: android
如果这个后台进程所做的工作不仅仅是上传位置,@niculare 的答案确实是正确的。
但是,如果这个后台进程唯一能做的就是上传,那么还有其他更省电的方法来做这件事。您可以创建BroadcastReceiver 以从系统接收位置更新并进行上传。如果你在上传前需要一些小的处理,你甚至可以从 BroadcastReceiver 中启动一个服务,然后服务将处理数据,上传完成。
此外,对于这两种情况,您可能需要 BroadcastReceiver 来接收 OnBoot 广播,以了解移动设备刚刚启动并注册这些内容。
小更新 您使用this listener 注册this method 以获取位置更新
【讨论】: