私はここで発狂します。簡単なことをしたい - 長いタスク (Web から複数のデータ オブジェクトをフェッチする) があり、それをキャンセルする機能が必要です。私はたくさんのことを(たくさん)試しましたが、何もうまくいきません
流れは次のようになります。
ユーザーがボタンをクリックする
AsyncTask
作業を開始します ( 、Service
、IntentService
およびで試しましたLooper
)タスクは、進行状況の更新に関する進行中の通知を追加することを含め、すべてを処理します
通知の意図には、進行中のタスクをキャンセルすることだけが目的であるという新しいアクティビティの呼び出しがあります。
stopService()
cancelActivityで Service/IntentService を呼び出そうとしたりLooper.quit()
、Looper を実行しようとしました (AsyncTask で何を試したか覚えていません。キャンセルするための API があるかどうかはわかりません)。
私の観点では、最良のオプションは使用することですIntentService
(いくつかのタスクを並べることができ、IntetService は希望どおりにそれを実行します)が、あらゆるタイプの実装の提案を受け入れます-私は何を気にしませんコードは、タスクをキャンセルするオプションがあるというだけです
よろしくお願いいたします。
ドロール
(私は寝ます - 同じ問題で8時間は多すぎます)