Android Facebook和Twitter应用程序发布页面的快捷方式
我正在我的Android应用程序上实现共享功能。我已经集成了一个意图选择器来共享文本类型的消息。现在,我想创建两个快捷方式:一个是访问用户的Facebook帖子页面,另一个是访问他的twitter帖子页面。 (与选择器一样) 我找到了这个有用的主题:并尝试使用ADB shell命令找到正确的单词(fb://word),但我无法理解(“发布”、“发布”、“发布”、“共享”、“共享”不起作用) 然后,当我在Facebook或Twitter上点击时,我尝试在意图选择器上捕捉创建的意图(通过日志)。我发现: Facebook的“起始:pid 17575中的Intent{act=android.Intent.action.SEND typ=text/plain flg=0x3000000 cmp=com.twitter.android/.PostActivity(具有额外功能)}”,以及 Twitter的“从pid 17575开始:Intent{act=android.Intent.action.SEND typ=text/plain flg=0x3000000 cmp=com.facebook.katana/.ShareLinkActivity(有额外功能)}” 我使用以下代码创建了这些意图(在按钮“Android Facebook和Twitter应用程序发布页面的快捷方式,android,facebook,twitter,Android,Facebook,Twitter,我正在我的Android应用程序上实现共享功能。我已经集成了一个意图选择器来共享文本类型的消息。现在,我想创建两个快捷方式:一个是访问用户的Facebook帖子页面,另一个是访问他的twitter帖子页面。 (与选择器一样) 我找到了这个有用的主题:并尝试使用ADB shell命令找到正确的单词(fb://word),但我无法理解(“发布”、“发布”、“发布”、“共享”、“共享”不起作用) 然后,当我在Facebook或Twitter上点击时,我尝试在意图选择器上捕捉创建的意图(通过日志)。我发
onClick()
方法上):
我也试过这样做:
Intent twitterIntent = new Intent(Intent.ACTION_VIEW);
twitterIntent.setAction("android.intent.action.SEND");
twitterIntent.setFlags(0x3000000);
twitterIntent.setType("text/plain");
twitterIntent.setComponent(new ComponentName("com.twitter.android", ".PostActivity"));
twitterIntent.putExtra(Intent.EXTRA_TEXT, getString(R.string.share_text));
startActivity(twitterIntent);
但即使日志看起来一样,也不会发生任何事情
有什么想法吗?我想你应该用setClassName而不是setComponent
intent.setClassName("com.facebook.katana", "com.facebook.katana.ShareLinkActivity");
intent.setClassName("com.twitter.android", "com.twitter.android.composer.ComposerActivity");
注意:最近的推特版本正在使用“com.Twitter.android.composer.ComposerActivity”(而不是“com.Twitter.android.PostActivity”)我知道有一种简单的方法可以做到这一点!非常感谢@Jompis,你的帖子救了我!!有人知道只打开twitter应用程序的类名吗?intent.setClassName(“com.twitter.android”、“com.twitter.android”);显然这不起作用。更新了答案,现在是:com.twitter.android.composer.composerActivity什么是“0x3000000”?
intent.setClassName("com.facebook.katana", "com.facebook.katana.ShareLinkActivity");
intent.setClassName("com.twitter.android", "com.twitter.android.composer.ComposerActivity");