Media Player schaltet nach ein paar Minuten im Standby ab

  • Hallo zusammen

    Ich bin totaler Neuanfänger im Programmieren und wollte eine Stream Radio App programmieren.Ich bin grad an einem Kurs dran und habe mir auch verschieden Tutorials angeschaut.
    Der Player läuft mit einem Wake Lock und einem Wifi Lock. Aber sobald das Smartphone im Standby ist läuft er nur noch ca. 5-10 Minuten dann schaltet er ab. Ich habe auch schon den Energiesparmodus angepasst... Nützt alles nichts
    Ich hoffe ihr könnt mir helfen...

    Hier der Code

    Einmal editiert, zuletzt von fischer90 (28. Januar 2018 um 18:31)

  • Hi, wie hast du den Service im Manifest definiert?
    Als lokalen im gleichen Prozess laufenden oder als remoute Service in einen eigenen Prozess?
    Bedenke das ein lokaler Service auch im ui Thread läuft. Wenn du keinen eigenen benutz.
    Auch ein Service sollte in einem eigenen Thread laufen. Da kann ich in deinem Code nichts erkennen.

  • Vielen Dank für die schnelle Antwort :) .
    Den Service im Manifest:

    Code
    <service android:name=".myService"/>

    Auch wenn ich es ohne Service laufen lasse klappt es nicht...
    Nur wenn es nicht im Standby ist läuft es einwandfrei.

  • Das ist ein lokaler Service.
    Du solltest die Play Routine in einen eigenen Thread laufen lassen.
    Denn wenn die App im Hinderund oder auch Standby ist kann das System Android die App beenden um Ressourcen zu sparen. Da alles im selben Thread läuft wird auch der Service beendet.

    Am unabhängigsten von der App ist ein Service im eigenen Prozess. Er benutz auch einen eigenen Heap Speicherbereich.

    Auch wenn ich es ohne Service laufen lasse klappt es nicht..
    Wie meist du das?

    Zeit intensive arbeiten gehören in einen eigenen Thread. Das abspielen von Musik ist ein Paradebeispiel für das abbrechen des UI Thread.

    https://www.google.de/url?sa=t&sourc…vt-3xpNMfAlSk4r

    http://www.aviyehuda.com/blog/2010/12/2…ui-environment/

    https://developer.android.com/guide/componen…nd-threads.html

    7 Mal editiert, zuletzt von nono124 (29. Januar 2018 um 06:25)

  • Ein Service ist hier die richtige wahl. Alle lang laufenden Prozesse sollten in Services ausgelagert werden. Über einen Handler kannst du auch aus dem Service heraus mit deiner Activity kommunizieren.

    Einmal editiert, zuletzt von Ben (29. Januar 2018 um 16:25)

  • ich habe ihm auch als erstes gesagt das er die zeitintensive play Methode in einen eigenen Thread laufen lassen soll. Denn ein lokaler Service läuft meines Wissens im UI Thread. Ein Intent Service hat von sich aus einen eignen Thread dafür ist keine Kommunikation möglich habe ich auch gesagt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!