2011-05-23 104 views
3

我轻易打开Facebook和Twitter的个人资料从我的Android应用程序是这样的:如何从我的android应用程序中打开LinkedIn应用程序?

  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的类名吗?

谢谢你们!

回答

0

的类com.linked.android.profile.ViewProfileActivity

+0

两者都不起作用 – user420574 2011-05-24 12:26:32

+0

从ProcessRecord {44c598a8 31483:com.branchu1 /}启动Intent {cmp = com.linkedin.android/.profile.ViewProfileActivity(还有额外功能)}:java.lang.SecurityException:Permission Denial: 10058}(pid = 31483,uid = 10058)要求为空 – user420574 2011-05-24 12:29:38

0

Wieux回答这个问题几乎是正确的解决方案尝试putStringExtra(“成员”,the_id),他只有引起他的解决方案不是一个错字上班。由于某种原因,有人删除了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。这个解决方案只有在你有number的形式的memberId时才能工作,你应该把字符串尽管并且不要和memebr ID一样长。

希望它有帮助。

+2

另外请记住,如果用户尚未登录LinkedIn应用程序中的账户,linkedin应用程序将在执行此意图时崩溃! – Jeroen 2012-09-12 12:09:38

+0

感谢您的加强,我没有测试这种情况。 – nheimann1 2012-09-30 13:43:35

+0

**致命异常**:android.content.ActivityNotFoundException:无法找到显式活动类{com.linkedin.android/com.linkedin.android.profile.ViewProfileActivity}; *你是否在你的AndroidManifest.xml中声明了这个活动?* – PLNech 2015-09-23 19:50:00

11

LinkedIn应用程序可能使用Intents打开,但该API不是很好(根本?)记录。 工作URI是:

  • LinkedIn://你
  • LinkedIn://资料/ [简介ID]
  • LinkedIn://组/ [组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。 要获得公司编号,请转至https://developer.linkedin.com/apply-getting-started#company-lookup

+0

谢谢你,他正在工作,我有疑问,如果我不知道应用程序的应用程序urls如何找出它们? – Thamaraiselvam 2015-02-02 08:50:13

+0

我已经下载LinkedIn APK,反编译它,检查AndroidManifest.xml文件中的URL,并通过创建一个非常简单的应用程序来检查它们的工作方式,只是开始一个意图。 – philips77 2015-02-03 11:44:39

+0

这个解决方案最近停止了工作,任何想法为什么? – 2015-11-30 11:10:08

相关问题