2017-01-13 16 views
1

ボタンをクリックすると、複数のファイルをダウンロードする必要があります。コードはファイルがすでに存在するかどうかをチェックし、存在しない場合はダウンロードキューにファイルを追加します。存在しないファイルをすべてダウンロードキューに追加します。ファイルがdownloadmanagerキューにあるかどうかをチェックする方法は?

しかし、ユーザーがすぐにボタンをクリックすると、ファイルがダウンロードキューに再追加されます。では、ファイルがダウンロードマネージャのキューに追加されているかどうかを確認する方法は?それが追加された場合、ファイルは再追加されません。

+0

毎回あなたが戻って一意のIDを取得するダウンロードするには、IDを保存し、後で 'で確認することができますgetUriForDownloadedFile'ファイルがすでにキューに入っている場合 –

+0

'getUriFodDownloadedFile'は正常にダウンロードされたファイルに対してのみ機能します。私はキューに入れられたファイルのリストを取得したい。 – suku

+0

あなたはいつもそれを維持することができますよね?とにかく他のアプリケーションがダウンロードしたファイルにアクセスすることはできません –

答えて

1

あなたはここでDownloadManager.Query

を使用する必要がありますDownload manager example

サンプルコードを参照することができます例です。あなたが要求し

DownloadManager.Query query = null; 
Cursor c = null; 
DownloadManager downloadManager = null; 
downloadManager = (DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE); 
query = new DownloadManager.Query(); 
if(query!=null) { 
      query.setFilterByStatus(DownloadManager.STATUS_FAILED|DownloadManager.STATUS_PAUSED|DownloadManager.STATUS_SUCCESSFUL| 
        DownloadManager.STATUS_RUNNING|DownloadManager.STATUS_PENDING); 
     } else { 
      return; 
     } 
c = downloadManager.query(query); 
if(c.moveToFirst()) { 
int status = c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS)); 
switch(status) { 
case DownloadManager.STATUS_PAUSED: 
break; 
case DownloadManager.STATUS_PENDING: 
break; 
case DownloadManager.STATUS_RUNNING: 
break; 
case DownloadManager.STATUS_SUCCESSFUL: 
break; 
} 
} 
関連する問題