2017-06-06 22 views
0

我想爲下載管理器的下載未完成操作註冊接收器。 其實我有一個代碼,我在下載一個文件時顯示一個加載程序,並且由於存儲空間不足錯誤。它最終會在通知欄中下載不完整的通知。 但因爲我註冊了接收器DownloadManager.ACTION_DOWNLOAD_COMPLETE。但它從來沒有被稱爲實際行動是下載不完整。所以我的裝載機沒有被解僱。 我的問題是我該如何檢測INSUFFICIENT_SPACE_ERROR,因此我可以關閉加載程序並向用戶顯示相應的消息?我可以在Android下載管理器的下載不完整操作中註冊接收器嗎?

我試過的另一種方法是 - 我正在計算下載文件之前在SD卡上的可用空間,但是在那種情況下,我應該寫哪個閾值條件?

我的代碼 -

BroadcastReceiver attachmentDownloadCompleteReceive = new BroadcastReceiver() { 
     @Override 
     public void onReceive(@NonNull Context context, @NonNull Intent intent) { 
      String action = intent.getAction(); 

      if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) { 
       long downloadId = intent.getLongExtra(
         DownloadManager.EXTRA_DOWNLOAD_ID, 0); 
       openDownloadedAttachment(context, downloadId); 
      } 
      else { 
       // Loader Dismissed and Displayed appropriate Message to user. 
      } 
     } 
    }; 

能否請你幫我這個? 任何幫助將不勝感激。 謝謝。

+0

你能分享你的Broadcast Reciever類嗎? – Rohit

+0

嘿Rohit,添加了我的Receiver代碼。 –

回答

0

請參考this示例。在這種方法中,您的數據狀態列會告訴您文件的確切下載狀態。

因此,隱藏進度對話框並顯示相應的消息。

+0

我在做同樣的事情。問題在於,接收器沒有被調用。 –