1

我的主页按钮有奇怪的问题。我有两个活动A和B。

A 总是以 B 开头...像这样:

startActivityForResult(new Intent("com.test.B"), 0);

并听取完成整个应用程序的结果......但我认为这并不重要。

当我在 B 活动中,并点击 HOME 按钮......并长按 HOME 按钮返回。显示的是活动 A 而不是 B...

为什么会这样?任何的想法?我应该在清单中设置一些东西吗?看起来活动 B 已经完成了……但我不想那样做。我想显示B...

以下是 A 活动的一些代码:

// Start new activity
Intent intent = new Intent(getApplicationContext(),B.class);
startActivityForResult(intent, 0);

这是清单中的一些代码:

<activity
        android:label="A"
        android:name=".A"
        android:screenOrientation="portrait" >
        <intent-filter >
            <action android:name="com.uno_manager.A" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:label="B"
        android:name=".B"
        android:noHistory="true"
        android:screenOrientation="portrait" >
        <intent-filter >
            <action android:name="com.uno_manager.B" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

我在这两个活动之前有一个活动......代表启动画面。

在活动中,BI 已被覆盖onRestoreInstanceonInstanceSave方法。并且单击我会调用setResultfinish()退出应用程序。但我认为这与此无关。

我试图从 B 活动中评论整个代码。我只留下setContentViewonCreate方法。同样的事情也发生在 HOME 按钮上。

4

2 回答 2

0

在您的清单文件中,将 launchMode 属性添加到您的活动中。有关重用http://developer.android.com/guide/topics/manifest/activity-element.html#lmode的更多信息,请参阅此链接

我认为除此之外的任何东西都standard可以满足您的要求,但请参阅文档以获取完整信息或尝试使用它们以找出正确的

于 2012-04-15T14:35:18.090 回答
0

您应该android:noHistory="true"从活动 B 中删除。从文档中:“当用户导航离开它并且它不再在屏幕上可见时,将调用活动的 finish() 方法”

于 2017-08-13T07:59:20.030 回答