0

你好!

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

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

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

4

1 回答 1

1

在启动 B 时通过意图传递一个布尔标志“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 中覆盖 onNewIntent

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

    if (intent != null) {
        boolean showStuff = intent.getBooleanExtra("showStuff", false);
        if (showStuff) {
             showStuff();
         }
    }  
}
于 2013-05-04T22:42:31.413 回答