所以,我正在使用Asynctask加载一个URL,并且我已经在下载开始之前处理了所有可能的连接问题,但现在我的应用程序在下载时从数据切换到wifi时关闭。所以问题是:
我是否必须在服务上执行Asynctask,或者有可能暂停它并在有可用连接时恢复吗?我已经有一个接收器,在连接后立即开始下载:
if (isOnline()) {
getData();
} else {
IntentFilter intentFilter = new IntentFilter(
"android.net.conn.CONNECTIVITY_CHANGE");
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (isOnline()) {
unregisterReceiver(this);
getData();
}
}
}, intentFilter);
}
但是,在连接可用后我怎样才能恢复Asynctask?
答案 0 :(得分:0)
这绝对是你想在服务的后台做的。我可以建议查看IntentService类的文档吗?通过在服务中执行此操作,您不必为确保清除Activity中的AsyncTask内容而烦恼。该服务将继续在后台运行,直到下载完成。