Прежде всего, здесь есть связанные посты в stackoverflow, но ни один из них не дает решения этой проблемы, поэтому я решил начать новый, более сфокусированный на этой конкретной проблеме.
Яразработка игры с фоновой музыкой. Музыка должна быть остановлена, когда пользователь блокирует устройство или нажимает кнопку «Домой» или вообще переходит на задний план.
Поэтому я добавил функцию pause () для музыки в методах onPause каждого действия ().
Проблема в том, что когда пользователь открывает другое действие, музыка приостанавливается. Я попытался возобновить музыку в onResume нового действия, но музыка останавливается на полсекунды, так что это не очень хорошее решение.
Как я могу различить, когда приложение вошло в фоновый режим и когдапользователь открыл новый экран приложения?
@Override
protected void onResume() {
super.onResume();
if (MusicManager.getInstance().musicOn())
MusicManager.getInstance().start();
}
@Override
protected void onPause() {
super.onPause();
if (MusicManager.getInstance().musicOn())
MusicManager.getInstance().pause();
}