1

Ich habe einen Download-Service, der Service erweitert, Wie kann ich eine Datei darin herunterladen, so dass, wenn ich die App aus den kürzlich apps entfernen, Datei weiter herunterladen? Nun, wenn ich die App aus den letzten apps entfernen, stoppt er das Herunterladen:Laden Sie eine Datei ohne Stop in einem Service (Not IntentService)

Teil des Codes:

public class downloadService extends Service { 


     @Override 
     public int onStartCommand(Intent intent, int flags, int startId) { 


       while ((count = input.read(data)) != -1) { 
        total += count; 
        // publishing the progress.... 
        // After this onProgressUpdate will be called 
    //    publishProgress((int) ((total * 1000)/lenghtOfFile)); 
    //    mInfo.getProgressBar().setProgress((int) ((total * 1000)/lenghtOfFile)); 
    //    prog = (int) ((total * 1000)/lenghtOfFile); 

        // writing data to file 
        output.write(data, 0, count); 
        sendMessage(downloadId, (int) ((total * 1000)/lenghtOfFile)); 
       } 

Antwort

0

Wenn der Benutzer Ihre Anwendung von entfernt ‚vor kurzem Anwendungen laufen‘, um den Prozess der App beendet wird und daher wird auch Ihre Service sofort stoppen. Es gibt nichts, von dem ich weiß, dass es getan werden kann, um dies von jetzt an zu verhindern. Ihr Service kann jedoch etwas wie START_STICKY in seinem onStartCommand() zurückgeben, der den Service neu starten kann. Dort sollten Sie selbst das Neustartszenario behandeln (wie das Neustarten des Downloads usw.).

Wie OP erwähnt, können wir auch versuchen, startForeground() auf einem Service zu tun, indem wir Hinweise aus der Play Store App nehmen. Dies kann mit Hilfe erfolgen:

int NOTIF_ID = 0; 
Notification notification = ... 
    .build(); // notification instance 
startForeground(NOTIF_ID, notification) 
+0

, wenn der Download beginnt, ich es in Meldungen angezeigt werden soll und weiterhin das Herunterladen auch wenn App vor kurzem entfernt apps, smething wie startForeground für donload nicht für die Benachrichtigung – DavidOli

+0

Wie Googleplay, wenn Sie das Herunterladen klicken eine app, es kommt zu benachrichtigungen und wenn du die app von vor kurzem apps entfernst, wird es weiterhin in benachrichtigungen heruntergeladen – DavidOli

+0

Okay .. also hast du 'startForeground()' versucht? – Shaishav

Verwandte Themen