Tôi sử dụng DownloadManager để nhận trạng thái tải xuống, nhưng nó vẫn không hoạt động, nó không bao giờ nhảy đến điều kiện if(c.moveToFirst())
và tôi không biết tại sao. Ai có thể giúp tôi được không?Cách tải trạng thái tải xuống?
private final BroadcastReceiver myReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(Intent.ACTION_SCREEN_OFF.equals(action)) {
DownloadManager downloadMgr = (DownloadManager)getSystemService(DOWNLOAD_SERVICE);
DownloadManager.Query query = new DownloadManager.Query();
query.setFilterByStatus(DownloadManager.STATUS_FAILED|DownloadManager.STATUS_PENDING|DownloadManager.STATUS_RUNNING|DownloadManager.STATUS_SUCCESSFUL);
Cursor c = downloadMgr.query(query);
if(c==null) {
//
}
else {
if(c.moveToFirst()) {
int columnIndex = c.getColumnIndex(DownloadManager.COLUMN_STATUS);
int status = c.getInt(columnIndex);
if(status == DownloadManager.STATUS_RUNNING){
//do something
}
}
}
}
}
};
Rõ ràng con trỏ của bạn là trống rỗng? – Blundell
Hm? Và làm thế nào tôi có thể giải quyết nó? – Adam
Dường như con trỏ không trống, bởi vì nó luôn luôn đi đến khác, không phải nếu (c == null). – Adam