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

时间:2017-02-08 09:43:51

标签: android android-intent launcher

如何从最近的应用标签恢复其他应用?例如,如果我们编写一个启动器应用程序,并且我们不希望每次应用程序的主要活动都启动。

我尝试过类似的东西:

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

1 个答案:

答案 0 :(得分:0)

试试这个

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