我想为下载管理器的下载不完整操作注册接收器。
实际上我有一个代码,我在下载文件时显示加载程序,并且由于存储空间不足。最终在通知托盘中下载不完整的通知。
但是我已经为DownloadManager.ACTION_DOWNLOAD_COMPLETE
注册了接收器。但它从未被称为实际行动是下载不完整。所以我的装载机不会被解雇。
我的问题是如何检测INSUFFICIENT_SPACE_ERROR
,所以我可以解除加载器并向用户显示相应的消息?
我尝试过的另一种选择是 - 我在下载文件之前计算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.
}
}
};
你能帮我解决这个问题吗? 任何帮助将不胜感激。 谢谢。