【问题标题】:Running a thread/process in the background always?总是在后台运行线程/进程?
【发布时间】:2013-03-03 22:41:51
【问题描述】:

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

【问题讨论】:

    标签: android


    【解决方案1】:

    您必须查看 Android 服务。 here你可以找到关于这个话题的很好的介绍。

    还必须使用BroadcastReceiver 来检测用户何时插入/拔出耳机。已经是关于这个here的话题了。

    【讨论】:

      【解决方案2】:

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

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

      此外,对于这两种情况,您可能需要 BroadcastReceiver 来接收 OnBoot 广播,以了解移动设备刚刚启动并注册这些内容。

      小更新 您使用this listener 注册this method 以获取位置更新

      【讨论】:

      • 感谢您提供额外信息,您说得对,我也需要一个 BroadcastsReceiver。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 2020-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多