启动应用程序知道包名称

时间:2010-08-06 10:08:10

标签: android

有人可以告诉我如何只知道它的包名来启动新的应用程序吗?我没有关于主要活动的信息。

4 个答案:

答案 0 :(得分:142)

只需使用以下两行,即可启动已知package name的已安装应用程序:

Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.example.abc");
startActivity( launchIntent );

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

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

有关详细信息,请参阅此链接Using Package Manager

答案 1 :(得分:89)

尝试使用PackageManagergetLaunchIntentForPackage()

答案 2 :(得分:14)

您可以通过PackageManager课程获得启动意图:

PackageManager pm = context.getPackageManager();
Intent launchIntent = pm.getLaunchIntentForPackage("com.example.package");
context.startActivity(launchIntent);

请注意,如果找不到包,getLaunchIntentForPackage将返回null。所以你可能想要添加一个空检查:

if (launchIntent != null) {
    context.startActivity(launchIntent);
} else {
    Toast.makeText(context, "Package not found", Toast.LENGTH_SHORT).show();
}

答案 3 :(得分:0)

Intent intent;                                        
PackageManager pm = getActivity().getPackageManager();

intent = pm.getLaunchIntentForPackage("com.package.name");                       
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(intent);