即使用户已退出数据,也会发送数据

时间:2012-07-05 16:55:15

标签: android android-activity android-service runnable

我想在我的应用中执行以下操作。即使用户按下主页键,我仍然会继续发送数据(无限期地直到应用程序被杀死)。在伪代码中我想要这样的东西:

even_if_i_have_pressed_home_button {
    for (;;) sendData();
}

你能帮助我使用什么吗?我读过有关服务,线程或runnables的内容。你能给我一些建议并给我示例代码吗?

2 个答案:

答案 0 :(得分:1)

您将创建一个service,该服务将创建一个将持续运行的线程。服务实现是一个很大的主题,这里不能涵盖。首先阅读android service文档页面。这里有一些要记住的事情,

  1. 如果您要创建一个在应用程序用户界面停止后运行并继续执行工作的线程,请确保添加notification以便用户理解这一点,并为他们提供一种真正停止服务的方法。例如,单击通知会将它们带回应用程序的用户界面,并以“退出”的方式返回。

  2. 如果需要内存,android会破坏你的服务。您无法创建绝对可以继续运行的服务。你应该在你的应用程序设计中考虑这一点。

  3. 确保您确实需要这样做。持续的网络活动将对用户的电池寿命产生严重影响。考虑让手机进入睡眠状态并定期醒来以使用alarm manager执行工作。

答案 1 :(得分:0)

你应该使用一项服务,服务只会在“紧急”情况下被Android杀死,所以当应用程序的活动关闭时,它很可能会保持活动状态。 一定要处理你的服务,你可以使用服务的onDestroy方法。