Android:在下载过程中强制关闭连接更改

时间:2011-10-19 04:54:43

标签: android android-asynctask connectivity

所以,我正在使用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?

1 个答案:

答案 0 :(得分:0)

这绝对是你想在服务的后台做的。我可以建议查看IntentService类的文档吗?通过在服务中执行此操作,您不必为确保清除Activity中的AsyncTask内容而烦恼。该服务将继续在后台运行,直到下载完成。