如何实现Android应用的SHARE功能



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

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

如何实现这样的函数?谢谢。

这是我的Android应用程序BBC News的实际代码。它将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)
        }

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

示例(我从电子邮件应用程序中获得并编辑了一点)。

关于意图和意图过滤器的文档

关于intent-filter作为AndroidManifest元素

示例实现参见Android Email应用程序的源代码(文件AndroidManifest.xml和src/com/android/email/activity/messagecompse .java (in onCreate()))

最新更新