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

标签 android android-intent phone-call

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

我已经用谷歌搜索了这个问题几个小时,但我找不到任何可行的方法。主要是因为查找包名和类名的指南非常糟糕。

通过 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 - 从另一个应用程序调用一个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4674391/

相关文章:

Android - 没有可用空间

android - 通过 Facebook 应用程序打开 Facebook 网络个人资料并不总是有效

以编程方式进行android调用转移

android - 如何不使用调用 Intent 直接调用电话?

android - 如何借助广播接收器检测来电?

android - LeakCanary 发现 Android WebView 内存泄漏

android - 如何使用后台作业查找用户在间隔内访问的应用程序列表?

android - 与多个用户共享同一个 Firebase 数据库

android - 在 Android 上打开特定的应用程序设置屏幕?

android - 如何找出对什么的 Intent 回调引用