ich ein Downloader-App-Projekt habe, und ich bin mit einer Service-Klasse zum Download zur Verwaltung von Aufgaben und zeigen Benachrichtigungen wie folgt aus: das Problem: wenn ich in der Nähe App von den letzten Apps durch Wischen wird der Dienst gestoppt. Ich kann startForeground
für Benachrichtigungen nicht verwenden, da ich mehrere Benachrichtigungen in einem Dienst habe. und ich mag notify.setAutoCancel(true)
funktioniert gut. hier ist AndroidManifest.xml Code:Hintergrunddienst für Multitask-Downloader stoppt, wenn die Nähe App von „recent apps“
public static void intentDownload(Context context , FileInfo info) {
Intent intent = new Intent(context, Downloader.class);
intent.setAction(ACTION_DOWNLOAD);
intent.putExtra(EXTRA_TAG, info.Tag);
intent.putExtra(EXTRA_APP_INFO, info);
context.startService(intent);
}
und hier ist onStartCommand
:
public int onStartCommand(Intent intent, int flags, int startId) {
if (intent != null) {
String action = intent.getAction();
FileInfo fInfo;
String tag = intent.getStringExtra(EXTRA_TAG);
switch (action) {
case ACTION_DOWNLOAD:
fInfo = (FileInfo) intent.getSerializableExtra(EXTRA_APP_INFO);
download(fInfo);
break;
case ACTION_PAUSE:
fInfo = (FileInfo) intent.getSerializableExtra(EXTRA_APP_INFO);
pause(fInfo);
break;
case ACTION_CANCEL:
cancel(tag);
break;
case ACTION_PAUSE_ALL:
pauseAll();
break;
case ACTION_CANCEL_ALL:
cancelAll();
break;
}
}
return Service.START_STICKY;
}
, wie kann ich es beheben
<service android:name=".Downloader" android:exported="false" android:enabled="true"
android:stopWithTask="false" />
hier Dienst starten?
können Sie den Dienst starten wieder 'onTaskRemoved' verwenden tötet. – SripadRaj
@SripadRaj, wenn ich das tue, werde ich Aufgaben von Downloads verlieren. Service läuft und arbeitet. –