Вы могли бы поступить так, как написал Фрэнк, но в вашем конкретном случае вы, вероятно, не хотите завершать игровое действие (игрок, вероятно, снова будет играть). Никакой контекст не будет потерян. Если вы закончите свою игровую активность, запуск новой каждый раз будет медленным. Из-за этого лучше начинать такие действия:
Intent i = new Intent(getApplicationContext(), YourActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
Флаг переупорядочения на фронт гарантирует, что у вас нет нескольких экземпляров одного и того же действия, потому что он не запускает новое действие, если оно уже существует. Поэтому, когда у игрока кончается жизнь, вы просто запускаете MainMenu, как в примере выше.
PS: Вы не можете закончить действия статически.
В свете вашего комментария, вот обновление:
Хотя, возможно, есть лучшие решения, вот решение, которое я использую: поскольку вы создаете игру, у вас, вероятно, есть отдельный поток, который рисует материал и проверяет, закончилась ли игра. Зарегистрируйте обработчик для потока рендеринга, который существует в потоке пользовательского интерфейса в вашей деятельности. После этого вы сможете отправить сообщение обработчику в классе Activity, когда игра должна закончиться. На приемном конце вы просто делаете код, опубликованный в моем ответе, поскольку вы не будете использовать статический метод.
Если вы не знакомы с обработчиками: http://saigeethamn.blogspot.com/2010/04/threads-and-handlers-android-developer.html