代码之家  ›  专栏  ›  技术社区  ›  CodeMonkey

startActivity在后台打开最后一个应用程序,而不是打开所需的活动

  •  0
  • CodeMonkey  · 技术社区  · 8 年前

    我有一个应用程序可以接收事件(基本上是来自后台服务的消息),当它接收到时,我调用以下代码:

    Intent dialogIntent = new Intent(this, MainActivity.class);
                    dialogIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    startActivity(dialogIntent);
    

    此代码应该将应用程序返回到前端,以便用户可以处理事件。

    MainActivity . 例如,如果我将应用程序移到后台,打开安卓设置,然后收到一个事件,安卓设置屏幕将打开,而不是我的应用程序。

    2) 用户在另一个应用程序中。在这种情况下,应用程序将不会被带到前台。

    2 回复  |  直到 8 年前
        1
  •  1
  •   Nabin Bhandari    8 年前

    使用启动器类别如下:

    Intent resumeIntent = new Intent(context, MainActivity.class);
    resumeIntent.setAction(Intent.ACTION_MAIN);
    resumeIntent.addCategory(Intent.CATEGORY_LAUNCHER);
    startActivity(resumeIntent);
    

    同时添加 android:launchMode="singleTop" 在你的活动清单中。

        2
  •  1
  •   Juan    8 年前