有时我们会看到在点击某些“分享”按钮后,会显示一系列可分享的方式。这个列表似乎是动态生成的而不是硬编码的。
例如,我在手机上安装了SpringPad,一些应用程序的共享功能可以通过SpringPad共享内容,但它怎么知道我有SpringPad呢?
如何实现这样的功能?谢谢。
例如,我在手机上安装了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)
}
<intent-filter>
,并在目标活动中的onCreate()
中处理此意图。
示例(我从电子邮件应用程序中获取并进行了编辑)。
有关意图和意图过滤器的文档
关于作为AndroidManifest元素的intent-filter
例如实现,请参见Android电子邮件应用程序源代码(文件AndroidManifest.xml和src/com/android/email/activity/MessageCompose.java(在onCreate()中)。)