一次单击即可打开两个应用程序

时间:2018-08-23 04:34:31

标签: android android-intent

我想一次打开两个应用程序(即WhatsApp和Facebook),一次单击即可。如果有人知道这一点,请帮助我解决我的问题。

我这样写来打开两个应用程序。

Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.whatsapp");
startActivity(launchIntent);
Intent launchface = getPackageManager().getLaunchIntentForPackage("com.facebook.katana");
startActivity(launchface);

但是此代码仅打开Facebook应用程序。

4 个答案:

答案 0 :(得分:1)

嗨,我为我的问题找到了解决方案,我在一段时间内打开了两个应用程序。这是我的代码。

 Handler handler = new Handler();
 handler.postDelayed(new Runnable() {
  @Override
  public void run() {
    btn1.setBackgroundColor(Color.GREEN);
  }
}, 1000);
handler.postDelayed(new Runnable() {
 @Override
 public void run() {
    btn1.setBackgroundResource(R.drawable.selector);
 }
}, 2000);

答案 1 :(得分:0)

无论如何,请尝试:-

  • 使用startActivityForResult
  • 打开第一个应用
  • 一旦获得该意图的result,请打开第二个应用程序

让我知道这是否适合您。否则,请提供有关您要求的更多详细信息,以便我们为您提供帮助

答案 2 :(得分:0)

我不知道为什么android系统不直接一次启动两个应用程序。但是,您可以在一段时间后启动另一个应用程序。

首先编写这样的方法:

private static void openApp(Context context, String packageName) {
    Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName);
    if (intent != null && intent.resolveActivity(context.getPackageManager()) != null) {
        context.startActivity(intent);

    } else System.err.println("Cannot open: " + packageName);
}

然后从您的活动中运行两个应用程序,如下所示:

openApp(this, "com.whatsapp");
new android.os.Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        openApp(MainActivity.this, "com.facebook.katana");
    }
}, 100);

答案 3 :(得分:0)

我为我的问题找到了解决方案。  这段代码可以一次打开两个应用程序。

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
        Intent launchIntentuber = getPackageManager().getLaunchIntentForPackage("com.whatsapp");
        startActivity(launchIntentuber);
    }
}, 1000);


handler.postDelayed(new Runnable() {
    @Override
    public void run() {
        Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.facebook.katala");
        startActivity(launchIntent);
    }
}, 2000);