Android共享选项

时间:2013-08-06 14:58:26

标签: android android-intent sharing android-sharing

我正在编写一个具有共享功能的应用程序,我希望通过特定的社交媒体分享按钮,即。 Facebook,无需打开选择器。反正有没有这样做?我一直在查看源代码,看看我能找到什么,但到目前为止我找不到办法做到这一点。

理想情况下,我想要做的是调用选择器执行的方法来获取要共享的适用应用列表,然后显示我定位的主要社交媒体平台的按钮。然后,当用户点击其中一个按钮时,它会将它们直接带到加载了媒体的应用程序,因此他们所要做的就是单击要共享的帖子。

我知道使用选择器不是火箭科学,但我希望应用程序尽可能简单,因此删除选择器将是迈向它的一个很好的一步,因为它会删除许多不必要的选项,如电子邮件和一些电话附带的东西,人们不喜欢使用。虽然我很可能会选择选择器,只是因为用户想要以其他方式分享它,我希望它不是唯一的分享方式。

一个完整的解决方案将是非常棒的,但在源代码中查看位置的正确方向上的一点也会很棒。

1 个答案:

答案 0 :(得分:1)

我没有测试过这个,但你尝试过这样的事情:

Intent fb = new Intent(Intent.ACTION_SEND);
fb.sharingIntent.setClassName("com.facebook.katana", "com.facebook.katana.ShareLinkActivity");
fb.putExtra(Intent.EXTRA_TEXT, "message");

Intent twitter = new Intent(Intent.ACTION_SEND);
twitter.setClassName("com.twitter.android","com.twitter.android.PostActivity");
twitter.putExtra(Intent.EXTRA_TEXT, "message");

Intent intent = Intent.createChooser(fb, "Share");
intent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] {
    twitter, ....more here
});
startActivity(intent);

基于这个答案: How to force Share Intent to open a specific app?

由于这些活动可能会发生变化,因此请尝试使用网址或网站上记录的任何内容,以便在安装后可以回退到他们的Android意图。