私のアプリはファイル(5〜12MBのファイル)をダウンロードし、外部ストレージからアクセスします。 WiFiに接続していないときにダウンロードに1〜2分かかりますので、ユーザーがアクティビティに入る前にダウンロードを開始して、待つ必要はありません。アクティビティ間の共有asynctask
AsyncTaskが最善の方法だと思われましたが、将来のアクティビティ(私の理解には)がAsyncTask自体の進捗状況をチェックできないことを認識しました。ファイルが読み込み可能かどうかを確認します。ただし、タスクがまだ実行されているか、ネットワーク接続が失われていて、再試行する必要がある場合はどうなりますか?
AsyncTaskを無差別に再作成し、すぐに終了する場合はファイルを再度ダウンロードするのは無駄です。
将来のアクティビティからAsyncTask(特にそのステータス)にアクセスする方法はありますか、それとももっと良いパラダイムがありますか?
'Service'のバックグラウンドスレッドについては、' IntentService'を考慮してください。 – CommonsWare
私はIntentServiceを見ていますが、サービスの状態を確認する方法はありません。私はそれが通知を送信することができますが、それがまだ実行されているかどうかを確認するためにUIスレッドのチェックをどのように持っていますか? – Turnsole