Android官方开发文档Training系列课程中文版:分享简单数据之添加简单的分享行为-阿里云开发者社区

开发者社区> sahadev> 正文

Android官方开发文档Training系列课程中文版:分享简单数据之添加简单的分享行为

简介: 原文地址:http://android.xsoftlab.net/training/sharing/shareaction.html 从Android4.0开始,使用ActionProvider可以更方便的在ActionBar上实现一个有效的、用户友好的分享按钮。
+关注继续查看

原文地址:http://android.xsoftlab.net/training/sharing/shareaction.html

从Android4.0开始,使用ActionProvider可以更方便的在ActionBar上实现一个有效的、用户友好的分享按钮。一个ActionProvider一旦依附到了ActionBar的菜单条目上,它会处理这个菜单条目的外观和行为。在ShareActionProvider这种情况中,你只需提供一个分享意图,它会处理剩下的事情。

Note:ShareActionProvider从API 14开始可用。

上图:ShareActionProvider在相册APP中的应用。

更新菜单声明

如果要开始使用ShareActionProvider,需要在菜单资源文件中相应的< item>中定义android:actionProviderClass属性:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
            android:id="@+id/menu_item_share"
            android:showAsAction="ifRoom"
            android:title="Share"
            android:actionProviderClass=
                "android.widget.ShareActionProvider" />
    ...
</menu>

这样就定义了ShareActionProvider对菜单外观与行为的代理职责。不过,你还是需要告诉提供者Provider你要分享的东西。

设置分享意图

为了可以使ShareActionProvider运行,你必须给它提供一个分享意图。这个分享意图应该与课程Sending Simple Data to Other Apps中描述的一致,需要有行为ACTION_SEND以及附加数据集比如EXTRA_TEXT或EXTRA_STREAM。为了分配一个共享意图,首先要找到在Activity或者Fragment中填充的对应的菜单条目MenuItem。接下来,调用MenuItem.getActionProvider()方法接收一个ShareActionProvider的实例。使用setShareIntent()来更新与共享意图相关的那个行为条目:

private ShareActionProvider mShareActionProvider;
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate menu resource file.
    getMenuInflater().inflate(R.menu.share_menu, menu);
    // Locate MenuItem with ShareActionProvider
    MenuItem item = menu.findItem(R.id.menu_item_share);
    // Fetch and store ShareActionProvider
    mShareActionProvider = (ShareActionProvider) item.getActionProvider();
    // Return true to display menu
    return true;
}
// Call to update the share intent
private void setShareIntent(Intent shareIntent) {
    if (mShareActionProvider != null) {
        mShareActionProvider.setShareIntent(shareIntent);
    }
}

在创建菜单期间,你可能只需要设置一次分享意图,或者你可能想在UI改变的时候通过设置它来更新它。举个例子,当你在全屏状态下浏览照片的时候,分享意图会随着照片的滑动而改变。

有关ShareActionProvider的进一步讨论,请参见Action Bar指南。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android官方开发文档Training系列课程中文版:OpenGL绘图之添加动态效果
原文地址:http://android.xsoftlab.net/training/graphics/opengl/motion.html 在屏幕上绘制物体只是OpenGL基础的基础,除了OpenGL,你还可以使用Canvas及Drawable对象做到同样的功能。
797 0
Android官方开发文档Training系列课程中文版:连接无线设备之通过WIFI创建P2P连接
原文地址:http://android.xsoftlab.net/training/connect-devices-wirelessly/wifi-direct.html#permissions Wi-Fi peer-to-peer (P2P) APIs可以使程序与附近的设备进行直接通讯,Android的Wi-Fi P2P框架由Wi-Fi Direct™提供技术支持。
757 0
android GifView分享
<p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; font-family:Arial; font-size:14px; line-height:26px"> gif图动画在android中还是比较常用的,比如像新浪微博中,有很多gif图片,而且展示非常好,所以我也想弄一个。经
1200 0
Android官方开发文档Training系列课程中文版:网络操作之网络连接
原文地址:http://android.xsoftlab.net/training/basics/network-ops/index.html 引言 这节课将会学习最基本的网络连接,监视网络连接状况及网络控制等内容。
676 0
Android官方开发文档Training系列课程中文版:连接无线设备之通过P2P搜索网络服务
原文地址:http://android.xsoftlab.net/training/connect-devices-wirelessly/nsd-wifi-direct.html 本阶段的第一节课 Using Network Service Discovery 展示了如何搜索本地网络服务。
864 0
Android官方开发文档Training系列课程中文版:通知用户之更新或移除通知
原文地址:http://android.xsoftlab.net/training/notify-user/managing.html#Removing 当需要在不同时段发布同一事件类型的通知时,应当避免创建新的通知。
637 0
Android官方开发文档Training系列课程中文版:网络操作之XML解析
原文地址:http://android.xsoftlab.net/training/basics/network-ops/xml.html 扩展标记语言(XML)是一系列有序编码的文档。
555 0
Android官方开发文档Training系列课程中文版:通知用户之创建不同导航方式的Activity
原文地址:http://android.xsoftlab.net/training/notify-user/navigation.html 设计通知时要考虑到用户所预想的导航体验。
670 0
Android官方开发文档Training系列课程中文版:多样屏幕之支持不同的屏幕尺寸
原文地址:http://android.xsoftlab.net/training/multiscreen/index.html 引言 Android运行于数以百计不同尺寸的设备上。
759 0
Android官方开发文档Training系列课程中文版:通知用户之大视图通知
原文地址:http://android.xsoftlab.net/training/notify-user/expanded.html#big-view 通知在通知栏中以两种风格呈现:正常视图与大视图。
831 0
+关注
sahadev
移动开发方向专家
183
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载