2

そのため、ダウンロード マネージャーを使用して、アプリで複数のファイルをダウンロードしています。特定のアクティビティを開始する前に、これらのファイルのダウンロードを完了する必要があります。アクティブなダウンロードがあるかどうかを確認するにはどうすればよいので、ダウンロードが完了するまで待つようにユーザーに指示できます。そして、それらが完成したら、ボタンを見えるようにする必要があります。私はこれをグーグルで検索しましたが、自分で(盲目的に)いくつかのコードを試してみましたが、何も機能しません。誰かが私を正しい方向に向けることができれば、私は感謝します.

4

1 に答える 1

6

query()ダウンロードに関するお問い合わせに使用します。を呼び出すenqueue()と、戻り値はダウンロードの ID です。ステータスでクエリを実行することもできます:

Cursor c = downloadManager.query(new DownloadManager.Query()
        .setFilterByStatus(DownloadManager.STATUS_PAUSED
                | DownloadManager.STATUS_PENDING
                | DownloadManager.STATUS_RUNNING));

ダウンロードが完了したときに通知を受け取るには、 を登録BroadcastReceiverACTION_DOWNLOAD_COMPLETEます。

BroadcastReceiver onComplete = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // do something
    }
};

registerReceiver(onComplete, new IntentFilter(
        DownloadManager.ACTION_DOWNLOAD_COMPLETE));

ACTION_NOTIFICATION_CLICKEDユーザーが実行中のダウンロードの通知をクリックしたことを知るために、ブロードキャストもリッスンする必要があることに注意してください。

于 2013-04-14T19:42:23.743 に答える