此时我不是100%的Android生命周期。我想运行一个进程/线程,我不确定这里是否有正确的术语,手机一直处于打开状态,并且无需用户激活应用程序即可运行。对于我正在进行的游戏的一部分,我希望定期将用户粗略的位置传回服务器,并从服务器获取一些数据。在android中解决这个问题的正确方法是什么?
答案 0 :(得分:3)
答案 1 :(得分:1)
如果此后台流程的工作量不仅仅是上传位置,那么@niculare的回答确实是正确的。
但是,如果这个后台进程唯一能做的就是上传,那么有更多的电池效率方法。您可以创建BroadcastReceiver以从系统接收位置更新并进行上传。如果您在上传之前需要一些小的处理,您甚至可以从BroadcastReceiver启动服务,那么服务将处理数据,上传完成。
同样对于这两种情况,您可能需要BroadcastReceiver才能接收OnBoot
广播,知道手机刚刚启动,并注册这些内容。
小更新 您使用this method
注册this listener以获取位置更新