我将活动中的一些数据发送到服务器。我使用以下方法让它在后台运行:
public void onBackPressed() {
moveTaskToBack (true);
}
但是如果由于某些网络问题而没有发送大约10分钟的数据。从n / w问题恢复后,它不会继续发送。
为什么会这样?如果活动无关,活动会在一段时间后停止吗?
答案 0 :(得分:2)
您只需启动将在后台运行的Service即可 将您的数据发送到服务器。如果您在活动的主线程中调用它,它可能会挂起您的活动,并且无法处理它,因为活动具有生命周期。它可能会结束! 启动后台服务并执行其中的所有操作。 :)
答案 1 :(得分:1)
查看documentation。此方法只是将您的活动移动到活动堆栈的后面,它仍然被暂停,因此 - 有资格通过操作系统完成。你的活动可能正在被破坏。
如果您希望某个流程在您的活动暂停时继续运行,请使用Raghunandan建议的服务,或者如果您需要在数据发送完成后更新UI,请启动AsyncTask。< / p>