【问题标题】:Android- start activity from service by sending already running process to backgroundAndroid-通过将已经运行的进程发送到后台来从服务启动活动
【发布时间】:2011-10-24 06:26:09
【问题描述】:

我有一个后台服务BGService,它会在某些事件发生时显示一个活动BGServActivity。我已经覆盖 onBackPressed 以完成显示的 Activity BGServActivity

假设,应用程序App_XYZ 的 UI 当前正在显示。并且我的服务BGService 是由事件触发并显示BGServActivity。当我按下它时,它会关闭当前的 Activity BGServActivity 并显示来自 Application App_XYZ 的先前 UI。

但是当我从 BGService 启动 BGServActivity 时,我希望将 App_XYZ 的 UI 发送到后台。

我的问题是

在从我的服务BGService 启动我的BGServActivity 之前,我是否可以做任何特殊的标志或其他事情来将之前显示的 UI 从另一个活动发送到后台。

【问题讨论】:

  • 我不确定我是否理解这个问题。如果 App_XYZ 被“发送到后台”,那么当用户从 BGServActivity 按下返回时应该看到什么?
  • “发送到后台”是什么意思?当 BGServActivity 启动时,App_XYZ 的 UI 必须自动进入后台。不是吗?对不起,但我不太明白你的问题
  • @dev_android,App_XYZ 的 UI 在启动 Activity 时不会进入后台:BGServActivity from service : BGService
  • @goto10 我不知道它的名称,但我指的是当我们的手机启动时显示的##main screen## UI - 就像 PC 中的桌面。当用户从 BGServActivity 按下返回时,用户应该会看到##主屏幕##
  • App_XYZ 中是否存在 BGServActivity 活动?如果是,那么您可以使用应用程序类做一些事情。或者,如果 BGServActivity 是 App_XYZ 的一部分,您是否可以控制 App_XYZ 如果您可以控制 App_XYZ,您可以发送关闭 App_XYZ 的意图。

标签: android android-service android-activity


【解决方案1】:

如果您想在您的 Activity 关闭时强制用户转到主屏幕,您可以这样做:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

我建议不要这样做。关闭活动时的标准行为应该是返回到之前查看的活动。

【讨论】:

  • 谢谢,我选择了你的想法并与我的想法混合以达到预期的输出。
【解决方案2】:

我想我找到了解决办法。

首先将主屏幕显示为goto10's solution

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

然后打开我的活动BGServActivity

        Intent i = new Intent();
        i.setClass(getBaseContext(), BGServActivity.class);
        Bundle b = new Bundle();
        b.putBoolean("IS_FROM_SERVICE", true);
        //add extras
        i.putExtras(b);
        startActivity(i);

它的工作原理......:D

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 2021-03-31
    • 2012-12-30
    相关资源
    最近更新 更多