Utilizo DownloadManager para obtener el estado de descarga, pero todavía no funciona, nunca salta a la condición if(c.moveToFirst())
y no sé por qué. ¿Podría alguien ayudarme por favor?¿Cómo obtener el estado de la descarga?
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
}
}
}
}
}
};
Obviamente el cursor está vacía? – Blundell
¿Hm? ¿Y cómo puedo resolverlo? – Adam
Parece que el cursor no está vacío, porque siempre va a else, no a if (c == null). – Adam