所以,我有这个应用程序有4个不同的活动:
我想要做的是大多数应用的标准行为。那就是:
我的应用正确地执行了第1点和第2点,但在3点,应用程序消失了。
按钮的onClick方法如下:
startActivity(new Intent(this,C.class));
没有任何活动会覆盖onBackPressed方法。
这是我的清单文件的一部分:
<activity android:name=".A" android:label="A" android:launchMode="standard" android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".B" android:label="B" android:launchMode="standard" android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait"/>
<activity android:name=".C" android:label="C" android:launchMode="standard" android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait"/>
<activity android:name=".D" android:label="D" android:launchMode="standard" android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait"/>
我从已经完成的调试工作中知道,在调用按钮的onClick方法之后调用A.onDestroy()。 根据这些信息,我认为,当然我可能错了,操作系统因某种原因从历史堆栈中删除了活动A.
现在我知道这个问题已经在stackoverflow上解决了,但是我已经尝试了所有我能找到的建议而且都没有用。 我想解释一下我自己的情况。
答案 0 :(得分:0)
当然我应该做错事。
我重写了onWindowFocusChanged方法并销毁了那里的活动,所以它当然是从堆栈中删除的。
我很抱歉浪费你的时间@stefan和@colegu。