4
  1. Android ネットワーク接続に制限はありますか?
  2. バックグラウンドで実行されているネットワーク接続の数を制限したい場合、どうすれば達成できますか?
  3. AsyncTask でネットワーク接続を開始し、 を使用してキャンセルするとAsyncTask_object.cancel(true)、対応するすべての内部ネットワーク接続が閉じられますか?
  4. Android で実行中のネットワーク接続をキャンセルするには?
4

2 に答える 2

1

3番目の質問への回答:

AsyncTask_object.cancel(true)を呼び出しても、内部接続は閉じられません。代わりに、AsyncTaskクラスのコールバックメソッドonCancelled()が呼び出されます。したがって、AsyncTaskで実行されているすべての作業をキャンセル/ロールバックするonCancelled()でコードを記述するのはあなたの責任です。isCancelled()を呼び出して、タスクが計算されているかどうかを確認できます。

例:

if(task.getStatus() != AsyncTask.Status.FINISHED)
  task.cancel(true);

AsyncTaskの場合:

@Override
protected void onCancelled() {
//cancell/rollback the work being done
}
于 2012-04-10T11:43:24.833 に答える
1

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-10T11:40:28.553 に答える