每次加载应用时强制显示主要​​活动

时间:2015-11-01 13:30:26

标签: android

我希望每次按下主屏幕并再次打开应用程序后,我的主要活动都会显示。

我的布局是:

主屏幕 - >菜单页面 - >子菜单

我希望能够使用后退按钮从子菜单进入菜单页面。但是,无论在按下主屏幕时我在哪个页面,我都希望在重新打开应用程序时显示主屏幕。我在我的java类for MenuPage中试过onFinish()。这会导致返回按钮关闭应用程序,因为之前的活动已完成。我研究了如何检测是否按下主页按钮以完成活动,但似乎不是一个选项。有没有人知道解决这个问题?

2 个答案:

答案 0 :(得分:1)

开始辅助活动时,您可以使用FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET标记。有关意图标志的更多信息,请访问:link

答案 1 :(得分:0)

为了控制你的背压,你可以基本上通过覆盖背压事件来指导每个活动或片段去你所背的任何地方。

@Override
public void onBackPressed() {
    // TO DO
}

为了处理带有片段的背压和状态,建议管理后栈。

Providing Proper Back Navigation

当我希望用户能够直接回到主要活动时,我也会在我的应用上使用自定义主页按钮。

public void goHome() {
    startActivity(new Intent(this, MainActivity.class));
}

修改
这是我原来答案的一部分,但它没有解决OP的要求。我把它留在这里是为了帮助任何可能误解了这个问题的浏览器,并且正在寻找类似的东西。

您需要将主要活动设置为应用的启动器活动,然后使用BOOT_COMPLETED和DEFAULT。这意味着用户每次按下主页键时都必须选择默认选项,直到他们将应用程序或默认设备主屏幕设置为“始终”为默认值。

<activity android:name=".Main">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <action android:name="android.intent.action.MAIN" />

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