如何实现Android应用的SHARE功能?

时间:2011-04-13 07:59:37

标签: android

有时我们可以看到点击一些“共享”按钮后,会显示一个可共享方式列表。该列表似乎是动态生成的,而不是硬编码。

例如,我在手机上安装了SpringPad,一些应用程序的共享功能可以通过SpringPad共享内容,但是怎么知道我有SpringPad?

如何实现这样的功能?感谢。

2 个答案:

答案 0 :(得分:8)

以下是我的Android应用BBC新闻的实际代码。它共享页面的URL。如果用户安装了Facebook或Twitter应用程序,他们将有机会分享这些服务以及电子邮件等。

        final Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("text/plain");
        intent.putExtra(Intent.EXTRA_TEXT, pageUrl);

        try {
          startActivity(Intent.createChooser(intent, "Select an action"));
        } catch (android.content.ActivityNotFoundException ex) {
          // (handle error)
        }

答案 1 :(得分:4)

如果您要在此列表中添加应用程序,则需要在应用程序的AndroidManifest.xml中声明<intent-filter>,并在onCreate()中的目标活动中声明您必须处理此意图。

Example(我从电子邮件应用中获取并进行了一些编辑)。

Docs about Intents and Intent Filters

关于将intent-filter作为AndroidManifest

的元素

例如,实现请参阅source of Android Email application(文件AndroidManifest.xml和src / com / android / email / activity / MessageCompose.java(在onCreate()中)。)