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

eig*_*tx2 20 android phone-call android-intent

在这个应用程序我正在开发我需要加载/调用已安装在手机上的另一个应用程序.这是一个仅供我个人使用的应用程序,因此无需检查是否安装了其他应用程序 - 我知道它是.

我已经用谷歌搜索了这个问题几个小时,但我发现任何有效的东西.主要是因为查找包名和类名的指南非常糟糕.

通过cmd和adb我能够找到关于我想要调用的应用程序的信息是: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);
Run Code Online (Sandbox Code Playgroud)

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

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

有谁知道要写什么?

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

Ian*_*ton 36

使用PackageManager获取包的Intent:

PackageManager pm = getPackageManager();
Intent intent = pm.getLaunchIntentForPackage("com.example.package");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)