【问题标题】:How can I open Linkedin application from my android app?如何从我的 android 应用程序打开 Linkedin 应用程序?
【发布时间】:2020-07-22 20:22:06
【问题描述】:

我可以像这样从我的 android 应用程序轻松打开 facebook 和 twitter 个人资料:

           if (facebookId != null)
                    {
                        try
                        {
                            long longFacebookid = Long.parseLong(facebookId);

                            Intent intent = new Intent(Intent.ACTION_VIEW);
                            intent.setClassName("com.facebook.katana", "com.facebook.katana.ProfileTabHostActivity");
                            intent.putExtra("extra_user_id", longFacebookid);

                            startActivity(intent);

                            return;
                        }
                        catch (ActivityNotFoundException e)
                        {                       
                            e.printStackTrace();
                        }
                        catch (NumberFormatException e)
                        {   
                            e.printStackTrace();
                        }   
                    }

但是不知道怎么打开linkedin应用?有人知道 Linkedin 的类名吗?

谢谢大家!

【问题讨论】:

    标签: android android-intent linkedin


    【解决方案1】:

    LinkedIn 应用程序可以使用 Intents 打开,但 API 的文档记录不是很好(完全没有?)。 工作 URI 是:

    • linkedin://you
    • linkedin://profile/[profile id]
    • linkedin://group/[组 id]

    所以你可以使用:

    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("linkedin://you"));
    final PackageManager packageManager = getContext().getPackageManager();
    final List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
    if (list.isEmpty()) {
        intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.linkedin.com/profile/view?id=you"));
    }
    startActivity(intent);
    

    一段时间以来,我一直在尝试使用意图打开公司资料,但还没有结果。 要获取配置文件 ID,只需访问配置文件页面并检查 URL。 要获取公司 ID,请转到 https://developer.linkedin.com/apply-getting-started#company-lookup。

    【讨论】:

    • 谢谢老兄,它正在工作,我有疑问,如果我不知道应用程序的应用程序网址如何找到它们?
    • 我已经下载了 LinkedIn APK,对其进行了反编译,检查了 AndroidManifest.xml 文件中的 URL,并通过创建一个启动意图的非常简单的应用程序来检查它们的工作原理。
    • 这个解决方案最近停止工作,知道为什么吗?
    • 要打开公司资料,我倾向于使用“linkedin://company=”格式。
    【解决方案2】:

    Wieux 对这个问题的回答几乎是正确的解决方案,他只是有一个错字导致他的解决方案不起作用。由于某种原因,有人删除了 Wieux 的答案和我的更正。为此,我再次编写解决方案。

    Intent linkedinIntent = new Intent(Intent.ACTION_VIEW);
    linkedinIntent.setClassName("com.linkedin.android", "com.linkedin.android.profile.ViewProfileActivity");
    linkedinIntent.putExtra("memberId", <member id>);
    startActivity(linkedinIntent);
    

    就是这样,这个解决方案并不完整,因为它只适用于个人而不适用于公司,我也仍然不了解linkedin的所有不同形式的url。此解决方案仅在您拥有数字形式的 memberId 时才有效,但您应该输入 String 而不是长为 memebr id。

    希望对你有帮助。

    【讨论】:

    • 另外请记住,如果用户尚未在linkedin 应用上登录他的帐户,则在执行此意图时,linkedin 应用将崩溃!
    • 感谢增强,我没有测试这个场景。
    • 致命异常:android.content.ActivityNotFoundException:找不到明确的活动类{com.linkedin.android/com.linkedin.android.profile.ViewProfileActivity}; 您是否在 AndroidManifest.xml 中声明了此活动?
    【解决方案3】:

    公司使用,android会自动提示在LinkedIn应用中打开:

        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.linkedin.com/company/your_company_id/")));
    

    它在 Android 10 上对我有用

    【讨论】:

      【解决方案4】:

      在 com.linked.android.profile.ViewProfileActivity 类上尝试 putStringExtra("memberId", the_id)

      【讨论】:

      • java.lang.SecurityException: Permission Denial: 从 ProcessRecord{44c598a8 31483:com.branchu1/10058} ( pid=31483, uid=10058) 需要 null
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-07
      • 2011-02-24
      • 2011-07-24
      • 2018-11-16
      • 2022-11-11
      • 2015-12-02
      • 1970-01-01
      相关资源
      最近更新 更多