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

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

我把这个问题用了好几个小时,但是我找不到任何可行的东西。 主要是因为查找包名和类名的指导方针非常糟糕。

通过cmd和adb我能够find关于我想要调用的应用程序的信息:package:/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); 

有谁知道该写什么?

PS:我自己的应用程序不需要有关被调用应用程序中发生的事情的任何信息。

Solutions Collecting From Web of "从另一个应用程序调用应用程序"

使用PackageManager获取包的一个意图:

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

文档在这里 。

我想在你的例子中,com.soundcloud.android实际上是包名,所以这应该是第一个参数。 对于第二个,你仍然需要弄清楚要使用的类。

如果你没有这个代码,你可以检查如何从apk中找出这个类。