保持活动在后台运行

时间:2013-03-18 08:50:57

标签: android

我将活动中的一些数据发送到服务器。我使用以下方法让它在后台运行:

public void onBackPressed() {
    moveTaskToBack (true);
}

但是如果由于某些网络问题而没有发送大约10分钟的数据。从n / w问题恢复后,它不会继续发送。

为什么会这样?如果活动无关,活动会在一段时间后停止吗?

2 个答案:

答案 0 :(得分:2)

您只需启动将在后台运行的Service即可 将您的数据发送到服务器。如果您在活动的主线程中调用它,它可能会挂起您的活动,并且无法处理它,因为活动具有生命周期。它可能会结束! 启动后台服务并执行其中的所有操作。 :)

答案 1 :(得分:1)

查看documentation。此方法只是将您的活动移动到活动堆栈的后面,它仍然被暂停,因此 - 有资格通过操作系统完成。你的活动可能正在被破坏。

如果您希望某个流程在您的活动暂停时继续运行,请使用Raghunandan建议的服务,或者如果您需要在数据发送完成后更新UI,请启动AsyncTask。< / p>