【问题标题】:How can I launch 2 applications from current simultaneously (one in background)?如何同时从当前启动 2 个应用程序(一个在后台)?
【发布时间】:2018-05-07 12:55:00
【问题描述】:

我想从当前应用程序启动 2 个 Android 应用程序。其中一个应该在后台启动,另一个在前台启动,用户现在将与之交互。当我尝试启动多个意图的现有解决方案时(如setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)andtry....finally),它们不起作用,可能是因为当启动 1 个应用程序时,设备会立即切换到那个;这些解决方案适用于在相同的应用程序。请提出一个解决方案,而不是作为服务启动。

更新 - 答案:

根据 David Wasser 的回答,这是可行的:

    final Intent intent1=getPackageManager().getLaunchIntentForPackage("example.app1.package");
    final Intent intent2=getPackageManager().getLaunchIntentForPackage("example.app3.package");
    Handler mHandler=new Handler();
    Runnable mLaunchTask = new Runnable() {
             public void run() {
                      startActivity(intent1);
             }
    };
    mHandler.postDelayed(mLaunchTask,1000);
    startActivity(intent2);

【问题讨论】:

  • “在后台启动”是什么意思?
  • 这样,如果我从应用程序 A -> 应用程序 B 和 C 启动; C 应该是用户现在与之交互的应用程序。如果 C 关闭,他与 A 交互,而 B 也在运行。
  • 请将您的答案放在答案中或在大卫的答案中添加评论,添加您成功中缺少的内容。然而,答案不应该留在你的问题中:)
  • 我已经把它作为答案,David Wasser 建议我把它放在问题本身中。

标签: android android-intent launch


【解决方案1】:

有几种方法可以做到这一点。这里有 2 个:

1) 启动 App B。启动后台线程或将 Runnable 发布到 Handler,几秒钟后将启动 App C。您需要给 Android 足够的时间来实际启动 App B 并将其显示在屏幕上。如果您稍后启动 App C,它将出现在 App B 之上。

2) 启动 App B 并让 App B 启动 App C 本身。您可以在用于启动 App B 的 Intent 中传递一个“extra”,而 App B 可以使用此“extra”的存在来知道它应该启动 App C。

【讨论】:

    【解决方案2】:

    David Wasser 的回答是对的,这段代码有效:

    final Intent intent1=getPackageManager().getLaunchIntentForPackage("example.app1.package");
        final Intent intent2=getPackageManager().getLaunchIntentForPackage("example.app3.package");
        Handler mHandler=new Handler();
        Runnable mLaunchTask = new Runnable() {
                 public void run() {
                          startActivity(intent1);
                 }
        };
        mHandler.postDelayed(mLaunchTask,1000);
        startActivity(intent2);
    

    【讨论】:

    • 您不应将此添加为答案。如果您在原始问题中添加此内容会更好。只需编辑您的原始问题并在问题底部添加此代码并进行解释。那里会比这里更受关注。然后,您可以删除此答案。
    猜你喜欢
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    相关资源
    最近更新 更多