小部件的后台堆栈问题

时间:2015-08-28 15:44:03

标签: android android-activity stack back

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

  1. 我点击热点1并启动活动A
  2. 我按下主页按钮
  3. 我点击热点2并启动活动B
  4. 我按下后退按钮,而不是回到家里 屏幕,我回到活动A
  5. 我从小部件启动活动的方式如下:

    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);
    

    有解决方法吗?

2 个答案:

答案 0 :(得分:0)

试试这个;

  • 创建一个全局变量,在单击每个热点时更改。
  • 覆盖后退按钮
  • 在Back Button方法中,创建一个开关,例如
    • 案例1://返回主菜单等。

答案 1 :(得分:0)

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

相关问题