Android 以编程方式恢复其他应用程序

Android 以编程方式恢复其他应用程序,android,android-intent,launcher,Android,Android Intent,Launcher,如何从“最近使用的应用”选项卡中恢复其他应用?例如,如果我们编写了一个启动器应用程序,并且不希望每次都启动应用程序的主要活动 我试过这样的方法: PackageManager manager = context.getPackageManager(); Intent intent = manager.getLaunchIntentForPackage(packageName); if (intent == null) { Toast.ma

如何从“最近使用的应用”选项卡中恢复其他应用?例如,如果我们编写了一个启动器应用程序,并且不希望每次都启动应用程序的主要活动

我试过这样的方法:

    PackageManager manager = context.getPackageManager();
    Intent         intent  = manager.getLaunchIntentForPackage(packageName);
    if (intent == null) {
        Toast.makeText(context, "app does not exist", Toast.LENGTH_SHORT).show();
        return;
    }
    intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    context.startActivity(intent);
但它不起作用-我应该设置什么标志

解决方案: 嗯。我只需更改此部分:

    intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    context.startActivity(intent);
为此:

    intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    context.startActivity(intent);
    context.finishAffinity();

试试这个

  Intent launchAppIntent = context.getPackageManager().getLaunchIntentForPackage(packageName);
             if (launchAppIntent != null) {    
               launchAppIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
               context.startActivity(launchAppIntent);
               finishAffinity();
      }

它可以正确地打开想要的活动,但在我的应用程序中(在任务管理器中,我可以看到两个类似的视图-从应用程序A和从我的应用程序),我想返回此应用程序Aadd finishafinity();启动后触觉();不幸的是,它没有改变什么。