0

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

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

我知道使用选择器不是火箭科学,但我希望应用程序尽可能简单,因此删除选择器将是朝着它迈出的重要一步,因为它会删除许多不必要的选项,如电子邮件和一些带上人们不常用的手机。尽管我很可能无论如何都会拥有选择器,以防用户也想以其他方式共享它,但我希望它不是唯一的共享方式。

一个完整的解决方案会很棒,但是在查看源代码的位置方面朝着正确的方向前进也会很棒。

4

1 回答 1

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);

基于此答案: 如何强制共享意图打开特定应用程序?

由于这些活动也可以更改尝试 url 或他们网站中记录的任何内容,因此如果安装,它会回退到他们的 android 意图。

于 2013-08-06T15:21:52.413 回答