Я пишу приложение для Android. У меня много операций в моем приложении с большим количеством переходов между действиями. Я решил реализовать государственную машину, которая переключит мои действия. Я надеялся реализовать машину State в классе Application или его подклассе, но я не могу начать с нее никаких действий.
public class MainAppClass extends Application {}
такой код не работает:
Intent intent = new Intent();
intent.setClass(this.MyActivity, Screen2Activity.class);
StartActivity(intent);
Может быть, нереально? Есть ли другие методы для таких задач? Спасибо за ваши ответы!
Вот еще один вопрос: почему вы пытаетесь начать работу с подкласса Application
?
Прочтите это (из документации), и вы поймете, почему то, что вы пытаетесь сделать, не имеет никакого смысла.
Класс
Application
- это базовый класс для тех, кто должен поддерживать состояние глобального приложения. Как правило, нет необходимости в подклассе Application. В большинстве случаев статические синглтоны могут обеспечивать такую же функциональность более модульным способом. Если вашему singleton нужен глобальный контекст (например, для регистрации широковещательных приемников), функции для его получения может быть предоставленContext
который внутренне используетContext.getApplicationContext()
при первом построении синглета.
Если вы отредактируете свое оригинальное сообщение, разъяснив, почему вы пытаетесь это сделать, возможно, я могу указать вам на более подходящее средство для запуска вашей Screen2Activity
.