Ich benutze DownloadManager für den Status des Herunterladens, aber es funktioniert immer noch nicht, es springt nie auf die Bedingung if(c.moveToFirst())
und ich weiß nicht warum. Könnte mir bitte jemand helfen?Wie bekomme ich den Downloadstatus?
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
}
}
}
}
}
};
Offensichtlich hat Ihr Cursor leer ist? – Blundell
Hm? Und wie kann ich es lösen? – Adam
Es scheint, dass der Cursor nicht leer ist, weil es immer zu sonst geht, nicht zu if (c == null). – Adam