繁体   English   中英

Android-按(主页按钮->应用程序快捷方式)时显示上次查看的活动

[英]Android - Show last viewed Activity When press (Home Button-->App Shortcut)

我来做一个永恒的问题,到目前为止还没有找到解决方案,我在互联网上搜索了同样的问题,但是找到了解决该问题的最终解决方案。

当我有2个活动处于打开状态并且我按下“主页按钮”,然后按我的应用程序的快捷方式时,它再次向我显示第一个活动(启动器活动),然后返回到显示的活动,我必须按返回按钮。

这个问题有什么解决方案?

我想按我的应用程序的快捷方式(通过按“主页”按钮离开我的应用程序之后)向我显示最后一个活动,而向我显示第一个活动(活动启动器)。

提前致谢。

根据您的主要活动是由另一个活动启动还是仅由应用程序图标启动,可以使用更简单的解决方案。 如果您的主要活动仅由应用程序图标启动,则可以使用isTaskRoot()来检查主要活动是否作为应用程序的全新启动而启动,或者用户是否正在返回并且主要活动是否位于顶部您希望显示的其他活动。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (! isTaskRoot()) {
        finish();
    } else {
        ...
    }
}

要打开另一个活动时,可以使用startActivityForResult替换startActivity。

当您按下主页按钮时,您的应用程序仍在后台运行。 如果要返回,请按Home键时的finish()活动。

那是预期的行为。 启动器将使用过滤器android.intent.action.MAIN启动Activity。

不过,有多种方法可以解决此问题。 一个非常简单的方法是拥有一个布尔标志mRunning ,您将在启动时将其设置为true 如果为true ,则在onStart()方法上启动启动第二个Activity的意图。 如果为false,则继续使用setContentView()

如果您有几个活动要返回,那么可行的方法是将当前活动保存在SharedPreferences并以相同的方式启动它。

另外,您的主要活动可能只是条目活动,其唯一的工作就是启动上一次使用的活动。

编辑 :我发现了这个重复的问题: 重新启动时如何使android应用返回到上次打开的活动? 与我的相比,ansewr更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM