У меня есть приложение, которое начинает воспроизводить звуки и начинает / возобновляет игровой процесс в методе onResume (), но я замечаю, что если мое приложение было последним приложением, когда я переводил телефон в режим ожидания (экран выключен), и я просто нажимаю кнопку Меню, чтобы проверить время, затем телефон начинает играть в игру и звучит в фоновом режиме (приложение на самом деле не видно, только экран с датой / временем, но должен быть вызван onResumeв моем приложении).Что мне здесь делать?Есть ли способ узнать, что реактивирует приложение, а затем добавить условный оператор, который запускает игру, только когда приложение действительно отображается?
Вот фрагмент из моего onResume:
@Override
protected void onResume()
{
mySaveGame = Utilities.loadSavegame(this);
//check the savegame
if(mySaveGame!=null)
{
//start game using savegame values
this.startFromSavedGame(mySaveGame.getIsLevelComplete());
}
else
{
//run the 1st-run components
this.startFirstRun();
}
super.onResume();
}
Единственное, что я могу придумать, чтобы предотвратить запуск игры, когда экран включается (даже если приложение не видно), это добавить this.finish () в качестве последней строки в onPause ().... но это заставляет вас перезапускать приложение каждый раз, когда вы захотите вернуться к нему, потому что прецессия была убита (и это хорошо, потому что мой onPause сохраняет постоянные данные, но это не элегантное решение).
Пожалуйста, помогите.