Android: Закрыть активность, когда запускается новый?

1

Я делаю музыкальный плеер, и у меня есть список со всей музыкой. Когда вы нажимаете на него, он открывает новое действие и воспроизводит песню, но если я вернусь к списку и выберете другую песню, это не остановит первый. Как заставить его остановить музыку или закрыть первую активность при воспроизведении новой песни?

Я попытался установить launchMode на "singleTask", но это не сработало.

  • 0
    Как вы начинаете музыкальный трек?
Теги:
music

1 ответ

3
Лучший ответ

Вы можете вызвать finish() свою музыкальную активность в onStop() -method. Это закроет Activity и откроет новый, после того как вы выберете новую песню для воспроизведения.

Лучшим способом сделать это (с момента создания мультимедийного проигрывателя) будет воспроизведение музыки в Сервисе (не в действии) и просто используйте "плеер" -activity или "список воспроизведения" -activity, чтобы измените воспроизводимый звук.

Таким образом, пользователь может оставить ваше приложение и все еще слушать его музыку. Кроме того, он позволяет ему просматривать музыку на новом треке, слушая что-то еще.


Чтобы связаться с вашим Сервисом, вам нужно "привязать" его. В вашем случае я бы предложил Binder сделать это. Прочтите "Связанная служба" -article из документации для получения дополнительной информации/примеров.

  • 0
    Как получить продолжительность музыки для создания панели поиска, если музыка воспроизводится в Сервисе?
  • 0
    Для этого вы можете использовать обмен сообщениями: stackoverflow.com/questions/6369287/…
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню