Android Run应用程序来自上一个Activity

aya*_*nir 7 android android-manifest

我有一个有几个活动的应用程序.My A Activity具有Manifest Intent过滤器参数:action.MAIN和category.LAUNCHER.在加载之后我调用Activity B并完成()A因为我不再使用它了.

运行我的应用程序后,从活动A转到B并按主页按钮,当我从应用程序菜单或市场应用程序重新启动它时(不是长按主页按钮),它从一个活动,不保存其最后一个活动B.

我肯定知道这可以从上一个Activity重新启动一个应用程序(市场上的一些应用程序支持它),我认为这可以通过Manifest参数确定,但我不知道哪一个.

有没有人知道如何实现它,所以我的应用程序可以从其上一个活动B重新启动?

谢谢ayanir

小智 5

虽然我知道这是一个古老的问题,但我正在努力解决这个问题,并且无法找到答案.所以,这是我的(非常新手)答案:

不,我认为通过搞乱清单可以做到这一点 - 你只能从主屏幕为每个应用程序启动一个固定的活动.但是,你可以做的是从那个起点开始你想要的任何活动,Android可以足够快地完成,你永远不会看到第一个.

虽然这感觉非常像黑客,但我在启动活动的onResume()方法中实现了这个路由,并使用sharedPreferences来跟踪要启动的活动:

    final Class<? extends Activity> activityClass;
    SharedPreferences prefs = getSharedPreferences("sharedPrefs", MODE_PRIVATE);
    int activityID = prefs.getInt("whichActivity", -1);
    if (activityID  == Constants.ACTIVITY_ID_MAINSCREEN) {
        activityClass = MainScreen.class;
    } else {
        activityClass = null; return;
    }
    Intent newActivity = new Intent(this, activityClass);
    this.startActivity(newActivity);
Run Code Online (Sandbox Code Playgroud)


Chr*_*Orr 1

最近有很多非常相似的问题。最好先搜索该网站,以确保不会询问重复的问题。

例如,下面链接的问题表明,发生这种行为是因为开发人员正在使用 Eclipse 调试器启动其应用程序。另一个人遇到了这个问题,因为他们直接从 Eclipse 启动应用程序,而不是通过手动按启动器图标来干净地启动。

Android:从HOME重新启动后保留任务的活动堆栈