私のアプリケーションでは、htmlページをダウンロードして解析します。しかし、私はそのトラックでダウンロードを止めることができたいと思っています(つまり、ユーザーがキャンセルを押すと)。Androidのダウンロードを停止する
これは私が今使っているコードで、ASyncTaskからdoInBackgroundから呼び出されています。
このリクエストをASyncTaskの外部からキャンセルするにはどうすればよいですか?
私は現在、あなたがAsyncTask.cancel()
を使用することはできませんhtmlcleaner
HtmlCleaner cleaner = new HtmlCleaner();
CleanerProperties props = cleaner.getProperties();
props.setAllowHtmlInsideAttributes(true);
props.setAllowMultiWordAttributes(true);
props.setRecognizeUnicodeChars(true);
props.setOmitComments(true);
try {
URL url = new URL(urlstring);
URLConnection conn = url.openConnection();
TagNode node = cleaner.clean(new InputStreamReader(conn.getInputStream()));
return node;
} catch (Exception e) {
failed = true;
return;
}
ダウンロードを自動的に停止しますか?ダウンロードにはURLConnectionクラスを使用します。 –
いいえ、それはそうでないことが分かります(このドキュメントでは間違っています - 'AsyncTask.cancel(true)を呼び出すことによってタスクが実際に実行されなくなるわけではありません。)実際にダウンロードするコードを投稿できますか? – ns476
I質問に追加しました。あなたのおかげでありがとう! –