AsyncTask_object.cancel(true)取消网络连接,它会关闭所有相应的内部网络发布于 2012-04-10 11:40:28
我不知道限制是什么,因为它是基于Linux的。
3.
我认为您应该检查一下onCancelled(Object)方法。
4.
假设我们这样做:ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
这将关闭连接:connec.getNetworkInfo(0).setState(NetworkInfo.State.DISCONNECTED);
还请看一下http://vikaskanani.wordpress.com/2011/08/03/android-proper-way-to-cancel-asynctask/
发布于 2012-04-10 11:43:24
回答你的第三个问题:
调用AsyncTask_object.cancel(true)不会关闭内部连接,相反,它将调用AsyncTask类的回调方法onCancelled()。因此,在onCancelled()中编写代码将取消/回滚AsyncTask中正在完成的所有工作,这是您的响应性。您可以调用isCancelled()来了解任务是否被计算。
示例:
if(task.getStatus() != AsyncTask.Status.FINISHED)
task.cancel(true);在AsyncTask中:
@Override
protected void onCancelled() {
//cancell/rollback the work being done
}https://stackoverflow.com/questions/10087866
复制相似问题