您好我遇到了这个问题。 我的应用程序有3个活动:
SplashScreenActivity,LoginScreenActivity,ViewPagerActivity(包含3个片段)。 当我将apk放入移动SD卡并使用packagemanager安装并打开时。我的应用程序启动就好了。 问题 - 但是,现在如果我按下主页按钮并再次从Apps抽屉/主屏幕启动应用程序。该应用程序似乎重新启动,我必须完成Splash和LoginScreen的整个流程。
如果我第一次从Apps抽屉本身启动应用程序,则不会出现此问题。如果我长按主页按钮并从最近的应用程序列表中选择应用程序,则应用程序也会正常恢复。
对于参考,我使用这些标志启动活动
防溅>登录
Intent intent=new Intent(SplashScreen.this, LoginActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
LoginActivity-> ViewPagerActivity
Intent intent = new Intent(context, ViewPagerActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
答案 0 :(得分:0)
主屏幕图标会启动您在清单中声明为MAIN
... LAUNCHER
活动的所有活动。通常,清单中的启动活动应该是您应用的主要活动。从那里,您可以在需要时调用启动画面和登录活动。
答案 1 :(得分:0)
删除这些标记或完整的代码行
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
答案 2 :(得分:0)
使用包管理器启动时,这似乎是一个问题。 https://code.google.com/p/android/issues/detail?id=2373
if (!isTaskRoot()) {
Intent intent = getIntent();
String action = intent.getAction();
if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && action != null && action.equals(Intent.ACTION_MAIN)) {
finish();
return;
}
}