【问题标题】:Back stack issue with widget小部件的回栈问题
【发布时间】:2015-11-23 08:14:04
【问题描述】:

我有一个小部件可以启动两个不同的活动,活动 A 和活动 B,具体取决于单击的热点。我想要的是在启动每个活动时重置后台堆栈。问题如下:

  1. 我点击热点1,启动Activity A
  2. 我按下主页按钮
  3. 我点击热点 2 并启动 Activity B
  4. 我按下返回按钮,而不是回到家 屏幕,我回到活动 A

我从小部件启动活动的方式如下:

Intent intent = new Intent(getBaseContext(), ActivityA.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

有解决办法吗?

【问题讨论】:

    标签: android android-activity stack back


    【解决方案1】:

    试试这个;

    • 创建一个全局变量,当单击每个热点时该变量会发生变化。
    • 覆盖返回按钮
    • 在 Back Button 方法中,创建一个开关,例如
      • CASE 1: // 返回主菜单等。

    【讨论】:

      【解决方案2】:

      我通过将 Intent.FLAG_ACTIVITY_CLEAR_TASK 添加到两个活动中解决了这个问题(它只用于其中一次)。这很容易解决问题。

      【讨论】:

        猜你喜欢
        • 2012-06-27
        • 2011-04-10
        • 2010-10-15
        • 1970-01-01
        • 1970-01-01
        • 2019-02-10
        • 1970-01-01
        • 2022-12-29
        • 2012-09-13
        相关资源
        最近更新 更多