如何同时从当前启动 2 个应用程序(一个在后台)?

How can I launch 2 applications from current simultaneously (one in background)?

我想从当前应用程序启动 2 Android 个应用程序。其中一个应该在后台启动,另一个在前台启动,用户现在将与之交互。当我尝试启动多个意图的现有解决方案时(如 setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)try....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);

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

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

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

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