Java 仅通过LinkedIn共享的类名

Java 仅通过LinkedIn共享的类名,java,android,eclipse,linkedin,Java,Android,Eclipse,Linkedin,我目前正在一个Android应用程序中创建一些热门平台的直接意向,以共享一些文本。我目前正试图直接与LinkedIn合作 我目前有一个为Twitter工作的直接意图,比如: shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.setClassName("com.twitter.android", "com.twitter.android.PostActivity"); shareIntent.setType

我目前正在一个Android应用程序中创建一些热门平台的直接意向,以共享一些文本。我目前正试图直接与LinkedIn合作

我目前有一个为Twitter工作的直接意图,比如:

shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setClassName("com.twitter.android",
            "com.twitter.android.PostActivity"); 
shareIntent.setType("text/*");
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, text);           
startActivityForResult(shareIntent, 9);

我现在需要的也是LinkedIn。到目前为止,我在互联网上搜索后知道LinkedIn的基本软件包。这就是“com.linkedin.android”(如果这是错误的,请纠正我)。然而,我缺少的关键部分是在LinkedIn应用程序中处理共享的类的名称。例如com.linkedin.android.?。

我通过从APK中提取linkedin清单文件来找到目的

类名是:
com.linkedin.android.home.UpdateStatusActivity

我为所有感兴趣的人编写的代码是:

if(Utils.doesPackageExist(getSherlockActivity(), "com.linkedin.android"))
{           
    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    shareIntent.setClassName("com.linkedin.android",
            "com.linkedin.android.home.UpdateStatusActivity"); 
    shareIntent.setType("text/*");
    shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareText);           
    startActivity(shareIntent);
}
else
{
    Toast.makeText(getSherlockActivity(), "Please install the LinkedIn app to share your result", Toast.LENGTH_LONG).show();
}

感谢Ryszard Wiśniewski在

方面的工作。在我写作时,新的类名是:

com.linkedin.android.infra.deeplink.DeepLinkHelperActivity

因此,总而言之:

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setClassName("com.linkedin.android",
        "com.linkedin.android.infra.deeplink.DeepLinkHelperActivity"); 
shareIntent.setType("text/*");
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareText);           
startActivity(shareIntent);

它是com.linkedin.android.publishing.sharing.ShareActivity,您可以下载此应用程序并查看手机上运行的当前活动名称。。。但是com.linkedin.android.publishing.sharing.ShareActivity似乎是一个私人类,您在访问Twitter时无法访问它

请注意,上述代码不再适用于linkedin应用程序的最新更新(2013年4月19日更新)。上述过程将失败,您的应用程序将强制关闭。因此,我更改了代码以从PackageManager获取信息。请参阅此SO帖子:有没有办法加载应用程序并将用户直接发送到我的个人资料?@RichardLewin,有没有办法直接打开LinkedIn共享对话框,因为Android Gallery应用程序在共享应用程序列表中单击LinkedIn图标后打开。排序中,如何实现LinkedIn的shareIntent。而不是:shareIntent.setClassName(“com.linkedin.android”、“com.linkedin.android.home.UpdateStatusActivity”);使用此选项:shareIntent.setPackage(“com.linkedin.android”);您好,我如何打开应用程序并重定向到用户配置文件?在我的用例中,用户可以打开其他用户的linkedin链接(到他们的配置文件),抛出ActivityNotFoundException,类名可能已更改