/ / Laufende App ist Pause, wenn neue App in Android - Android gestartet wird

Laufende App ist Pause, wenn neue App in Android - Android gestartet wird

Ich habe einen Audiorecorder entwickelt, der funktioniertperfekt im Vordergrund sowie im Hintergrund. Aber es gibt ein Problem, wenn ich Audiorecorder im Hintergrund laufe und eine andere Anwendung starte, die den Ton verwendete (wie Videorekorder, Musikspieler, Videoplayer usw.), also stürzt die APP ab. Also möchte ich eine Funktion in Audio Recorder hinzufügen, die, wenn die andere App (wie Videorekorder, Musikplayer, Videoplayer usw.), die Mikrofon oder Lautsprecher verwenden, im Vordergrund läuft, so dass der Audiorekorder automatisch in den Pause-Zustand geht. Danke im Voraus .

Wenn du mein Problem immer noch nicht verstehstBitte nutze dein Handy und spiele den Musikplayer, als nach Hause zu gehen. So läuft der Musikplayer. Und öffne die andere App, die kein Mikrofon und keinen Lautsprecher benutzt, also läuft der Musikplayer noch, aber wenn du eine andere App öffnest, die Mikrofon und Lautsprecher benutzt (wie Videorekorder, Musikplayer, Videoplayer usw.) so Musik-Player wird anhalten. Diese Art von Funktionalität wollte ich.Thanx im Voraus

Antworten:

1 für die Antwort № 1

Endlich viel Search & Googlen Ich habe die Antwort auf diese Frage. Ich benutze audiofocuschangelistener. Der Code ist da

AudioManager.OnAudioFocusChangeListener audioFocusChangeListener = neuer AudioManager.OnAudioFocusChangeListener () {  public void onAudioFocusChange (int focusChange) { umschalten (focusChange) { Fall AudioManager.AUDIOFOCUS_GAIN: Fall AudioManager.AUDIOFOCUS_GAIN_TRANSIENT: Fall AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK: // Aktiviere deine Aktivität Unterbrechung; Fall AudioManager.AUDIOFOCUS_LOSS: Fall AudioManager.AUDIOFOCUS_LOSS_TRANSIENT: Fall AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK: /// pausiere deine Aktivität Unterbrechung; }  } };

und mach das in onCreate ()

AudioManager AudioManager = (AudioManager)getSystemService (Kontext.AUDIO_SERVICE); int result = audioManager.requestAudioFocus (audioFocusChangeListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT); if (Ergebnis == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { // starte deine Aktivität }

Und für weitere Informationen können Sie folgenden Link folgen

http://developer.android.com/training/managing-audio/audio-focus.html


0 für die Antwort № 2

Soweit ich aus Ihrer Frage verstanden habe, müssen Sie Ihre Anwendung stoppen, was auch immer sie tut (Tonaufnahme wahrscheinlich?), Wenn es nicht die Vordergrundanwendung ist.

Sie müssen überschreiben onPause Methode in Ihrer Hauptaktivität, so dass Sie, wenn Ihre Aktivität in den Hintergrund tritt (die neue Aktivität kommt), Ihren Rekorder stoppen können.

Darüber hinaus können Sie die Aufgabe Ihrer Aktivität fortsetzen, wenn der Benutzer erneut mit der Interaktion mit Ihrer Anwendung beginnt, indem Sie ihn überschreiben auf Wiederaufnahme Methode.