STATUS_PAUSED 不会在 DownloadManager 中调用 onReceive()
STATUS_PAUSED won't call onReceive() in DownloadManager
我使用 DownloadManager
从服务器下载文件,我预计当网络未连接到互联网时我会在 BroadcastReceiver
中收到 STATUS_PAUSED
。但它不会调用 onReceive()
.
downloadReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// ...
}
}
registerReceiver(downloadReceiver,
new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
您正在过滤 ACTION_DOWNLOAD_COMPLETE
操作,您的接收器将不会收到任何其他广播。
而且STATUS_PAUSED
不是广播
它是由 DownloadManager
管理的特定下载的状态,您可以查询。
例如:
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
DownloadManager.Query query = new DownloadManager.Query();
query.setFilterById(idsToQuery);
query.setFilterByStatus(DownloadManager.STATUS_PAUSED);
Cursor cursor = dm.query(query);
if (cursor.moveToFirst()) {
// do whatever you would like with the result
}
就Download Manager class而言,它不Broadcast
任何关于下载内容状态的状态。只广播两个状态
ACTION_DOWNLOAD_COMPLETE
ACTION_NOTIFICATION_CLICKED
我使用 DownloadManager
从服务器下载文件,我预计当网络未连接到互联网时我会在 BroadcastReceiver
中收到 STATUS_PAUSED
。但它不会调用 onReceive()
.
downloadReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// ...
}
}
registerReceiver(downloadReceiver,
new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
您正在过滤 ACTION_DOWNLOAD_COMPLETE
操作,您的接收器将不会收到任何其他广播。
而且STATUS_PAUSED
不是广播
它是由 DownloadManager
管理的特定下载的状态,您可以查询。
例如:
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
DownloadManager.Query query = new DownloadManager.Query();
query.setFilterById(idsToQuery);
query.setFilterByStatus(DownloadManager.STATUS_PAUSED);
Cursor cursor = dm.query(query);
if (cursor.moveToFirst()) {
// do whatever you would like with the result
}
就Download Manager class而言,它不Broadcast
任何关于下载内容状态的状态。只广播两个状态
ACTION_DOWNLOAD_COMPLETE
ACTION_NOTIFICATION_CLICKED