【问题标题】:How do I return to previous app after a service generated activity is 'finished'服务生成的活动“完成”后如何返回上一个应用程序
【发布时间】:2017-12-05 01:01:46
【问题描述】:

我的应用有一项在后台运行的服务。它会根据用户的意图唤醒,该意图通常是从另一个应用程序生成的(例如从 Web 浏览器共享到我的应用程序)。服务完成执行任务后,我希望它打开一个活动,显示有关已完成任务的一些信息。当用户查看完此信息后,我希望他们能够点击“返回”或“关闭”并返回他们之前所做的事情(不在我的应用程序中)。

我只是设法让活动关闭,将我的应用程序的主要活动留在屏幕的前面和中心。仅当应用程序仍在运行时才会发生这种情况。如果它被杀死,那么它会正确返回到生成用户意图的 Web 浏览器。

如何使“返回”按钮关闭活动并返回到启动整个工作流程的上一个应用程序?

编辑:

这是我在 android 服务中执行的代码:

Intent intent = new Intent(this, TestActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

当我点击 TestActivity 的后退按钮时,它会返回我的应用程序的主要活动,而不是服务启动时我所在的上一个应用程序 TestActivity

【问题讨论】:

    标签: android android-intent android-activity android-service back-stack


    【解决方案1】:

    在第二行中,您正在使用 Intent.FLAG_ACTIVITY_CLEAR_TOP 清除您之前的活动

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-22
      • 1970-01-01
      • 2011-09-21
      • 2012-06-20
      • 1970-01-01
      相关资源
      最近更新 更多