android – 从另一个应用程序调用应用程序

在这个应用程序中,我正在开发我需要加载/调用已经安装在手机上的另一个应用程序。这是我个人使用的一个应用程序,所以没有必要检查是否安装了其他应用程序 – 我知道它是。

我已经把这个问题搞了好几个小时,但是找不到有用的东西。主要是因为找到包名称和类名的准则是非常糟糕的。

通过cmd和adb,我能够发现有关我想要呼叫的应用程序的信息是:
包:/data/app/com.soundcloud.android-1.apk=com.soundcloud.android
(这正是在cmd窗口中说的)

我试过这样的东西:

Intent i = new Intent();
i.setClassName("/data/app/com.soundcloud.android-1.apk", "com.soundcloud.android");
startActivity(i);

但是我的应用程序只是崩溃了。我使用上面的代码,因为有人说这可能会调用一个应用程序:

Intent i = new Intent();
i.setClassName("<package_name>","<Class Name(with package name)>");
startActivity(i);

有人知道真正写什么吗?

P.S .:我自己的应用程序不需要任何关于被叫应用程序发生的情况的信息。

最佳答案
使用PackageManager获取包的Intent:

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

转载注明原文:android – 从另一个应用程序调用应用程序 - 代码日志