Вы можете использовать шаблон обратного вызова. Проверьте мой другой пост для деталей. При любом событии пользовательского интерфейса на экране B (например, при нажатии кнопки) экран B запускает обратный вызов, передавая любой параметр, если это необходимо. При этом ваш Экран А сохраняет свой оригинальный / чистый интерфейс.
Вы можете обнаружить устройство «Назад» с помощью этого кода:
protected boolean keyChar(char c, int status, int time) {
if (c == Characters.ESCAPE) {
// .. run callback here ..
close(); // actually close the Screen B
return true;
}
return super.keyChar(c, status, time);
}