Android-从 Activity 中启动另一个应用程序

标签 android

<分区>

我想创建一个在单击按钮时启动外部应用程序(例如 shazam)的 Activity 。 是否可以?怎么做到的?

谢谢!

最佳答案

您需要其他应用程序包名称(如果您安装了此应用程序,可以使用 adb 检查)

adb shell cmd 包列表包 | grep 沙赞

或者您可以在 Google Play 应用程序页面中查看 - 查看 URL: https://play.google.com/store/apps/details?id=com.shazam.android

然后只需使用以下代码(作为上下文,您可能会使用您的 Activity )

PackageManager pm = context.getPackageManager();
    Intent intent = pm.getLaunchIntentForPackage("com.shazam.android");
    if (intent != null) {
        context.startActivity(intent);
    }

或者您可以将它(正如我建议的那样)移动到单独的方法中,例如

    public static void openApp(Context context, String appPackageName) {
    if (context == null) {
        Log.e("<Class name>","Context is null");
        return;
    }
    PackageManager pm = context.getPackageManager();
    Intent intent = pm.getLaunchIntentForPackage(appPackageName);
    if (intent != null) {
        context.startActivity(intent);
    }else{
        Log.e("<Class name>", "Cannot start app, appPackageName:'" + appPackageName + "'");
    }
}

关于Android-从 Activity 中启动另一个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30800900/

相关文章:

android - 调用 Facebook 应用拍照

java - 安卓 ZipInputStream : only DEFLATED entries can have EXT descriptor

Android 应用程序图标前景默认为 android Logo

java - 延迟设置颜色过滤器java

android - Fragment 和 Anko toast 的“接收器类型不匹配”

android - 重新创建类似于 Android 12 设置的开关

Android修复图片大小

java - Android:即使应用程序从内存中清除,如何使通知可见

android - "Need login credentials for app review"对于只有手机号码作为登录选项的应用程序

android - 以两种不同的方式设置颜色@*android :color/color1 vs @android:color/color1