Java 如果活动是从另一个活动启动的,则启动方法

Java 如果活动是从另一个活动启动的,则启动方法,java,android,Java,Android,嗨 我要问一个非常愚蠢的问题,但我向你保证,我在网上搜索过,要么没有答案(可能性很小),要么我遇到了一个解决方案,但无法识别它 无论如何,这里是:假设我有两个活动,A和B。活动B是我的应用程序启动器活动,所以当我启动我的应用程序时,活动B是第一次运行。从那里,我将通过意图开始活动A。现在,我在活动A中,通过意图再次开始活动B。现在,通过活动A中的意图启动了活动B,我想运行活动B中的showStuff()方法。如何运行 很抱歉这个奇怪的故事,很遗憾我无法用科技语言表达自己。非常感谢你的帮助 启动B

我要问一个非常愚蠢的问题,但我向你保证,我在网上搜索过,要么没有答案(可能性很小),要么我遇到了一个解决方案,但无法识别它

无论如何,这里是:假设我有两个活动,A和B。活动B是我的应用程序启动器活动,所以当我启动我的应用程序时,活动B是第一次运行。从那里,我将通过意图开始活动A。现在,我在活动A中,通过意图再次开始活动B。现在,通过活动A中的意图启动了活动B,我想运行活动B中的showStuff()方法。如何运行

很抱歉这个奇怪的故事,很遗憾我无法用科技语言表达自己。非常感谢你的帮助

启动B时,通过intent传递布尔标志“showStuff”

Intent intent = new Intent(this, B.class);
intent.putExtra("showStuff", true);
startActivity(intent);  
在B中,在onCreate中

Intent intent = getIntent();
if (intent != null) {
    boolean showStuff = intent.getBooleanExtra("showStuff", false);
    if (showStuff) {
         showStuff();
     }
}  
同样在B-wintent中

@Override
protected void onNewIntent(Intent intent)
{
    super.onNewIntent(intent);

    if (intent != null) {
        boolean showStuff = intent.getBooleanExtra("showStuff", false);
        if (showStuff) {
             showStuff();
         }
    }  
}

非常感谢。但是,如果没有调用该活动的意图(比如应用程序第一次启动时),该怎么办呢。getIntent()方法是否会返回false?getIntent将返回null,如果它不是null,则getExtra将是false,如果不是由AAt设置的话。首先,我不怀疑这种方法是否有效,但现在我尝试将其放入代码中,但它不起作用。showStuff布尔值将始终为false,并且if块永远不会运行。可能有什么问题?你有B的启动模式吗?对不起,我不知道a的启动模式是什么:D。你能告诉我吗?