Uso DownloadManager per ottenere lo stato di download, ma ancora non funziona, non salta mai alla condizione if(c.moveToFirst())
e non so perché. Qualcuno potrebbe aiutarmi, per favore?Come ottenere lo stato di download?
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
}
}
}
}
}
};
Ovviamente il cursore è vuota? – Blundell
Hm? E come posso risolverlo? – Adam
Sembra che il cursore non sia vuoto, perché va sempre in altro, non in se (c == null). – Adam