Android 无法从非活动类启动活动

Android 无法从非活动类启动活动,android,Android,这是我的两行代码,它们不启动我的main活动。没有错误,应用程序也不会崩溃。就像这两行代码被有效地注释掉了一样 Intent intent = new Intent(MainActivity.mMainActivity,MainActivity.class); MainActivity.mMainActivity.startActivity(intent); 我在MainActivity public static MainActivity mMainActivity; //... mMai

这是我的两行代码,它们不启动我的
main活动
。没有错误,应用程序也不会崩溃。就像这两行代码被有效地注释掉了一样

Intent intent = new Intent(MainActivity.mMainActivity,MainActivity.class);
MainActivity.mMainActivity.startActivity(intent); 
我在
MainActivity

public static MainActivity mMainActivity;
//...
mMainActivity = this;
我正在尝试从非活动类启动
MainActivity


怎么了?谢谢。

我已将
MainActivity
启动模式设置为
singleInstance

android:launchMode="singleInstance"

您在哪里设置活动?看起来真的不对-m通常代表成员-但这显然不是成员;-)谢谢,是的,它是一个成员,我添加了如何初始化它请详细解释“不要启动我的
main活动”
“的含义。例如,你是不是在撞车?如果是这样,请编辑您的问题并提供与崩溃相关的完整Java堆栈跟踪。请注意,将
活动
放在
静态
字段中是内存泄漏,因此是个坏主意。。另外,不要创建对活动的静态引用,因为它会导致内存泄漏。相反,在构造函数中传递对非活动的引用。@prole:“如果我的主活动每次只初始化一次”——这不太可能是真的。例如,在配置更改(例如,屏幕旋转)时,默认情况下会销毁并重新创建您的活动。现在,如果您将
static
字段重置为现在的新实例,那么您将不再泄漏旧实例。一般来说,将引用活动的内容放入
静态
字段是有风险的,因为您开始这样做,然后忘记清除这些字段,让活动被销毁(例如,后退按钮),然后导致泄漏。