我编写了一个Android应用程序。我的应用程序中有很多活动,活动之间有大量转换。我决定实现一个状态机,它将切换我的活动。
我希望在我的Application类或其子类中实现一个状态机,但是我无法从中启动任何Activity。
public class MainAppClass extends Application {}
这样的代码失败了:
Intent intent = new Intent();
intent.setClass(this.MyActivity, Screen2Activity.class);
StartActivity(intent);
也许,这是不真实的吗?还有其他方法可以执行此类任务吗?感谢您的回答!
这里是另一个问题:为什么要尝试从Application
的子类开始活动?
阅读(从文档中阅读),您将明白为什么您尝试执行的操作没有任何意义。
Application
类是那些需要维护全局应用程序状态的人的基类。通常不需要子类化Application。在大多数情况下,静态单例可以以更模块化的方式提供相同的功能。如果您的单身人士需要全局上下文(例如,注册广播接收者),则可以为获取该单身人士的函数指定一个Context
,该函数在首次构造单身人士时内部使用Context.getApplicationContext()
。
如果您编辑原始帖子,澄清为什么要这样做,也许我可以为您指出一种更合适的启动Screen2Activity
的方法。