繁体   English   中英

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

[英]Android- launch another app from activity

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

谢谢!

我找到了解决方案。 在应用程序的清单文件中,我找到了我的包名:com.package.address以及我要启动的Mainctivity的名称:

以下代码启动此应用程序:

  Intent intent = new Intent(Intent.ACTION_MAIN);
  intent.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity"));
  startActivity(intent);

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

adb shell cmd包列表包| grep shazam

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

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

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开发人员的官方文档: http//developer.android.com/training/basics/intents/sending.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM