如何实现 Android 应用的分享功能?

5
有时我们会看到在点击某些“分享”按钮后,会显示一系列可分享的方式。这个列表似乎是动态生成的而不是硬编码的。
例如,我在手机上安装了SpringPad,一些应用程序的共享功能可以通过SpringPad共享内容,但它怎么知道我有SpringPad呢?
如何实现这样的功能?谢谢。
2个回答

9

这是我 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)
        }

谢谢,这正是我想要的:D - shihpeng

4
如果您想将应用程序添加到这些列表中,需要在应用程序的AndroidManifest.xml中声明<intent-filter>,并在目标活动中的onCreate()中处理此意图。 示例(我从电子邮件应用程序中获取并进行了编辑)。 有关意图和意图过滤器的文档 关于作为AndroidManifest元素的intent-filter 例如实现,请参见Android电子邮件应用程序源代码(文件AndroidManifest.xml和src/com/android/email/activity/MessageCompose.java(在onCreate()中)。)

非常感谢,如果我需要实现用于共享内容的东西,这将会很有帮助。 - shihpeng

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接