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)
最近有很多非常相似的问题。最好先搜索该网站,以确保不会询问重复的问题。
例如,下面链接的问题表明,发生这种行为是因为开发人员正在使用 Eclipse 调试器启动其应用程序。另一个人遇到了这个问题,因为他们直接从 Eclipse 启动应用程序,而不是通过手动按启动器图标来干净地启动。
| 归档时间: |
|
| 查看次数: |
6745 次 |
| 最近记录: |