前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >再看Android官方文档之分享

再看Android官方文档之分享

作者头像
子勰
发布2018-05-22 14:56:46
3970
发布2018-05-22 14:56:46
举报
文章被收录于专栏:子勰随笔子勰随笔

分享简单数据

发送

  • intent调用了Intent.createChooser(),那么Android总是会显示可供选择。 Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send."); sendIntent.setType("text/plain"); startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.send_to));
  • 分享二进制的数据需要结合设置特定的MIME类型,需要在EXTRA_STREAM里面放置数据的URI
  • 我们可以使用*/*这样的方式来指定MIME类型,但是这仅仅会match到那些能够处理一般数据类型的Activity
  • 接收的程序需要有访问URI资源的权限,可以将数据存储在ContentProvider中或者使用MediaStore系统。

接收

  • 由于无法知道其他程序发送过来的数据内容是文本还是其他类型的数据,若数据量巨大,则需要大量处理时间,因此我们应避免在UI线程里面去处理那些获取到的数据。

分享文件

  • Android的FileProvider组件提供了getUriForFile()方法创建一个文件的content URI。

建立文件分享

  1. 指定FileProvider
    • android:authorities字段指定了希望使用的Authority,该Authority针对于FileProvider所生成的content URI
    • <provider>下的<meta-data>指向了一个XML文件,该文件指定了我们希望共享的目录路径
  • 指定可共享目录路径 <paths> <files-path path="images/" name="myimages" /> </paths>
    • “name”属性字段告知FileProvider在“files/images/”子目录中的文件的Content URI添加路径分段(path segment)标记:“myimages”。
    • <files-path>标签共享的是在我们应用的内部存储中“files/”目录下的目录
    • <external-path>标签共享的是位于外部存储的目录
    • Content URI将会包含下列信息:
      • 标签中指定的Authority(“com.example.myapp.fileprovider”);
      • 路径“myimages/”;
      • 文件的名字。
      • 事例: content://com.example.myapp.fileprovider/myimages/default_image.jpg

分享文件

  • 调用setFlags()来为文件授予临时被访问权限是唯一的安全的方法。尽量避免对文件的Content URI调用Context.grantUriPermission(),因为通过该方法授予的权限,只能通过调用Context.revokeUriPermission()来撤销。

请求分享文件

  • 因为客户端应用程序所收到的所有数据只有文件的Content URI而已。由于URI不包含目录路径信息,客户端应用程序无法查询或打开任何服务端应用程序的其他文件。
  • openFileDescriptor()方法返回一个文件的ParcelFileDescriptor对象。客户端应用程序从该对象中获取FileDescriptor对象,然后利用该对象读取这个文件了

PS,文件分享这部分内容好多都忘了,这里先停一下,做点东西实践一下

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015年06月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分享简单数据
    • 发送
      • 接收
      • 分享文件
        • 建立文件分享
          • 分享文件
            • 请求分享文件
            相关产品与服务
            数据保险箱
            数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档