2012-04-21 4 views
6

私はDownloadManagerを使用してダウンロードのステータスを取得していますが、それでも動作しない場合は、条件if(c.moveToFirst())にジャンプせず、理由もわかりません。誰も助けてくれませんか?ダウンロードのステータスを取得する方法は?

+0

明らかにあなたのカーソルが空になりますか? – Blundell

+0

Hm?そして私はそれをどのように解決できますか? – Adam

+0

カーソルは空ではないようです。なぜなら、カーソルは常に(c == null)にではなく、他に移動するからです。 – Adam

答えて

7

ここではリンクの参照はほとんどありません。

のサンプルコードは以下の通りです::

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; 
    case DownloadManager.STATUS_FAILED: 
    break; 
    } 
} 
+0

ステータスコード0が表示されています。これはどのように可能ですか? – fobbymaster

関連する問題