有人可以告诉我如何只知道它的包名来启动新的应用程序吗?我没有关于主要活动的信息。
答案 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)
尝试使用PackageManager
和getLaunchIntentForPackage()
答案 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);