如果从另一个活动开始活动,则启动方法

时间:2013-05-04 22:33:01

标签: java android

嗨!

我要问一个非常愚蠢的问题,但我向你保证,我已经搜索了网络并且没有答案(极不可能)或者我遇到了一个解决方案,但一直无法识别它

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

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

1 个答案:

答案 0 :(得分:1)

通过启动B

时的意图传递布尔标志“showStuff”
Intent intent = new Intent(this, B.class);
intent.putExtra("showStuff", true);
startActivity(intent);  

在onCreate的B中

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

也在B覆盖onNewIntent

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

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