我有一个登录活动。用户通过电子邮件和密码发送请求以登录。 我正在使用Retrofit 2,并且有取消请求的新功能。 (这不重要,问题更为笼统)。
如果用户按下 - 我想取消请求。但如果用户转动手机 - 我想要继续请求。 所以我不能在onStop中调用取消。 当然我可以在Back back上取消请求。但是我认为有更多的情况,当Activity停止时。
我看到的另一种方法是使用android:configChanges="orientation"
。
我会感谢任何想法和“最佳实践”。
答案 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