2017-12-22 5 views
0

Ich versuche, ein mp3 zu spielen, wenn die App geschlossen ist. Es funktioniert, wenn ich nicht in der App bin, aber wenn ich es vom Aufgabenmanager wische, endet der Song. Wie kann ich den Service nach dem Schließen weiterspielen lassen? Das ist mein Service:Dienst stoppt, wenn die App ausgepackt wird

@Override 
public IBinder onBind(Intent intent) { 
    return null; 
} 
@Override 
public void onCreate() { 
    super.onCreate(); 
} 
@Override 
public void onTaskRemoved(Intent rootIntent) { 
    Log.d("MusicService", "onTaskRemoved"); 
} 
@Override 
public void onDestroy() { 
    super.onDestroy(); 
} 
@Override 

public int onStartCommand(Intent intent, int flags, int startId) { 
    return super.onStartCommand(intent, flags, startId); 
} 

Das ist meine Haupttätigkeit:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    start = (Button)findViewById(R.id.start); 
    stop = (Button)findViewById(R.id.stop); 
    mp = MediaPlayer.create(getApplicationContext(),R.raw.gucci); 
    start.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      startService(new Intent(MainActivity.this,MyService.class)); 
      mp.start(); 

     } 
    }); 
    stop.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      mp.pause(); 
      stopService(new Intent(MainActivity.this,MyService.class)); 
     } 
    }); 
} 
+0

haben einen Blick auf [Diese Antwort] (https://stackoverflow.com/a/47828122/4168607) – ADM

+0

Aktivitäten werden (allgemein) zerstört, wenn sie nicht angezeigt werden. Wenn Sie möchten, dass Code außerhalb des Bildschirms vorhanden ist, sehen Sie sich die Services an. – Neil

+0

Versucht dies, hat nicht funktioniert ... @ADM –

Antwort

-1

gerade Rückkehr START_STICKY in onstartcommand Methode Ihrer Serviceklasse. es wird für immer im Hintergrund laufen.

+0

und das ist völlig falsch. –

+0

Hat nicht funktioniert .... –

+0

@Override public int onStartCommand (Intent Absicht, int Flags, int startId) { return START_STICKY; } Das ist wie ich normalerweise .. es funktioniert für mich jedes Mal –

0

ANMERKUNG: Andere Weise möglicherweise nicht verwendbar (ignorieren Sie, wenn nicht verwendbar).

Sie geben Benutzern die Option nicht aus recents Menü zu löschen.

Verwenden Sie dieses Manifest Attribut für jede Aktivität Komponente in ihren Spieler App

android: excludeFromRecents

+0

das könnte funktionieren, aber ist eine hässliche Abhilfe in der Tat Wie auch immer - die Aktivität wird im Hintergrund in einiger Zeit sterben. –

+0

Hässliche Problemumgehung - ja, ist es. Ich habe bereits eine Notiz dafür hinzugefügt. – Napolean

Verwandte Themen