Android,网络请求,在onStop内取消但继续轮换

时间:2015-11-03 17:58:57

标签: android retrofit activity-lifecycle

我有一个登录活动。用户通过电子邮件和密码发送请求以登录。 我正在使用Retrofit 2,并且有取消请求的新功能。 (这不重要,问题更为笼统)。

如果用户按下 - 我想取消请求。但如果用户转动手机 - 我想要继续请求。 所以我不能在onStop中调用取消。 当然我可以在Back back上取消请求。但是我认为有更多的情况,当Activity停止时。

我看到的另一种方法是使用android:configChanges="orientation"

我会感谢任何想法和“最佳实践”。

1 个答案:

答案 0 :(得分:2)

一种方法是在Activity的onCreate()中创建一个没有任何UI的Fragment,然后在Fragment的onCreate中启动你的网络,启动AsyncTask。

在这个Fragment的onCreate中你可以设置setRetainIntance(true),这样当你的Activity改变方向时,Fragment不会被破坏。

使用getActivity()

通知AsyncTask onPostExecute

见这里,完美的例子:http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html