【问题标题】:the behaviour of Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOPIntent.FLAG_ACTIVITY_SINGLE_TOP | 的行为Intent.FLAG_ACTIVITY_CLEAR_TOP
【发布时间】:2014-08-25 16:55:45
【问题描述】:

我使用以下代码调出 SignInActivity,同时清除所有其他代码:

Intent intent = new Intent(activity, SignInActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
activity.startActivity(intent);

我的应用有多个选项卡,SignInActivity 是选项卡活动之一:

TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
tabHost.setup(getLocalActivityManager());
tabHost.addTab(tabHost.newTabSpec("home").setIndicator(createTabView(this, "Home", R.drawable.home)).setContent(new Intent(MainActivity.this, HomeActivity.class)));
tabHost.addTab(tabHost.newTabSpec("lists").setIndicator(createTabView(this, "My List", R.drawable.shopping_list)).setContent(new Intent(MainActivity.this, ShoppingListActivity.class)));
tabHost.addTab(tabHost.newTabSpec("stores").setIndicator(createTabView(this, "Stores", R.drawable.store_finder)).setContent(new Intent(MainActivity.this, StoreActivity.class)));
tabHost.addTab(tabHost.newTabSpec("my_card").setIndicator(createTabView(this, "My card", R.drawable.more_card)).setContent(new Intent(MainActivity.this, SignInActivity.class)));
tabHost.addTab(tabHost.newTabSpec("more").setIndicator(createTabView(this, "More", R.drawable.more)).setContent(new Intent(MainActivity.this, MoreActivity.class)));

在执行时,有一个 TransactionActivity 正在运行,代码(上面显示的第一块代码)是从事务活动中调用的。我希望清除事务活动,并将原始的 SignInActivity 置于顶部。但我实际观察到的是,一个新的 SignInActivity 被启动了,而不是仅仅把原来的放在上面;当我点击后退按钮时,交易活动出现了,这表明它没有被清除;当我再次点击返回时,会显示原来的 SignInActivity。

【问题讨论】:

    标签: android android-intent android-activity tabs start-activity


    【解决方案1】:

    要清除已启动活动的整个历史记录,然后重新开始活动,我使用以下代码:

                Intent i = new Intent(getActivity(), LoginActivity.class);
                i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(i);
    

    当用户退出我的应用程序时,我个人使用它,然后清除所有需要登录的活动的历史记录并再次显示登录活动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-10
      • 2011-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多