【问题标题】:How to leave the current app and launch an activity of another app?如何离开当前应用并启动另一个应用的活动?
【发布时间】:2018-04-25 08:43:25
【问题描述】:

我有一个简单的 Android 应用程序需要在特定条件下启动另一个应用程序,我需要在应用程序启动时检查条件。也就是说,要么继续启动我的应用程序,要么只启动另一个应用程序:

if (A == true) {
 launch another activity of another app
 leave the current app without creating the main activity
} else {
 launch the main activity of the current app
}

谁能告诉我如何处理 A == true case?我能够启动另一个应用程序的 Activity,但我什至在不打开主 Activity 的情况下离开当前应用程序时遇到了麻烦。

任何帮助将不胜感激!

【问题讨论】:

  • 尝试在 onCreate 中的 setContentView 之前添加此代码

标签: android android-activity launch


【解决方案1】:

您可以使用以下意图启动其他应用程序

Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.example.abc");//pass the packagename of app you want to open
startActivity( LaunchIntent );

如果您不知道要启动的应用程序的包名称,请尝试一下

PackageManager pm;
pm = getPackageManager();
//  get a list of installed apps.
packages = pm.getInstalledApplications(0);

传递您要打开的应用程序的包名 如果 A == true,您可以使用它

else 你可以启动 MainActivity 为

startActivity(new Intent(CurrentActivity.this,MainActivity.class));

【讨论】:

    【解决方案2】:

    如果您想在没有正常IntentFilter 的情况下启动另一个应用程序的另一个活动,那么最简单的解决方案是:

    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setComponent(new ComponentName("com.anotherapp.package","com.anotherapp.package.MainActivity"));
    startActivity(intent);
    

    当然,您需要知道您想要开始的 package nameActivity 名称

    至于完成您的应用程序调用

    finishAndRemoveTask();
    

    【讨论】:

    • finishAndRemoveTask() 正是我想要的,谢谢!
    • 太棒了,如果这有帮助,请不要忘记按照 SO 指南投票/接受答案;)。很高兴我能帮上忙!
    • 为什么要删除?我以为我帮了你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多