3

我目前正在为 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.?。

4

3 回答 3

5

我设法通过从 APK 中提取 LinkedIn Manifest 文件找到了意图。

班级名称是: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 在http://code.google.com/p/android-apktool/上所做的工作

于 2012-09-26T12:45:33.630 回答
0

在我写作时,新的班级名称是:

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);
于 2016-02-25T05:34:19.430 回答
0

它是 com.linkedin.android.publishing.sharing.ShareActivity ,您可以下载此应用并查看您手机上当前运行的 Activity 名称是什么 https://play.google.com/store/apps/details?id= com.willme.topactivity ...但是 com.linkedin.android.publishing.sharing.ShareActivity 似乎是一个私有类,当您访问 Twitter 时您无法访问

于 2016-11-21T11:05:07.150 回答