启动应用程序知道包名
只需使用这下面两行,这样你就可以推出其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其不错的代码 – 2013-05-21 09:05:58
这是否会启动一个完整的新实例?我想推出现有的。我怎么做? – JohnyTex 2014-04-14 08:45:02
@hohny TEX你找到你的问题 – 2015-05-06 09:35:52
你可以通过PackageManager
类获得的推出意图:
PackageManager pm = context.getPackageManager();
Intent launchIntent = pm.getLaunchIntentForPackage("com.example.package");
context.startActivity(launchIntent);
注意getLaunchIntentForPackage
返回空值,如果没有找到包。所以,你可能要添加一个空检查:
if (launchIntent != null) {
context.startActivity(launchIntent);
} else {
Toast.makeText(context, "Package not found", Toast.LENGTH_SHORT).show();
}
这个答案只是与旧答案略有不同,除了它是3年更新。我没有看到upvotes是如何合理的。 – hBrent 2017-07-27 20:43:16
谢谢,我错过了这个功能,而在寻找PackageManager ...... – bart 2010-08-06 10:33:56
先生为什么不能我通过获取其包名的给予java.lang.NullPointer异常启动启动? – 2013-12-16 07:38:02
是否启动完整的新实例?我想推出现有的。我怎么做? – JohnyTex 2014-04-14 08:44:26