title: React-Native调用系统分享Share组件的使用
tags: react-native


一. 方法

  • share
  • sharedAction
  • dismissedAction

二、具体说明

1.share
接口:
static share(content, options)

打开一个分享文本内容的对话框

  • 在 iOS 中,返回一个 Promise,最终会解析为一个对象,包含有action和activityType两个属性。如果用户取消对话框,则 Promise 仍将被解析,最终返回的action属性会是Share.dismissedAction,而其他属性为 undefined。
  • 在 Android 中同样返回一个 Promise,但返回的action始终为Share.sharedAction。

In iOS, Returns a Promise which will be invoked an object containing action, activityType. If the user dismissed the dialog, the Promise will still be resolved with action being Share.dismissedAction and all the other keys being undefined.
In Android, Returns a Promise which always be resolved with action being Share.sharedAction.

Content参数说明
   - message - 要分享的消息- title - 消息的标题- url - 要分享的网址,(iOS系统中特有)

至少需要一个 url 和message。

options参数说明
ios- subject - 通过邮件分享的标题- excludedActivityTypes- tintColor
android- dialogTitle
2 sharedAction()
接口:
static sharedAction()

表示内容已成功分享。

3 dismissedAction()
接口:
static dismissedAction()

表示对话框被取消。仅限 iOS系统。

三. 效果如下所示

ios系统测试,调起系统分享

四、替代方案

我使用的rn版本是"react-native": “0.51.0”,在直接使用Share组件在android系统中,无法进行完成分享,每次分享都会出现无法获取资源的问题,我在github中查看Share组件issue的时候,看到最新.53.0版本已经支持在安卓平台的使用,请后期使用支持正版,哈哈哈,由于自己项目原因,于我还是使用用了下面这个库:
react-native-share
这个库能够完美的支持分享功能,其中包括字符串分享、本地文件分享(图片、pdf等)、远程文件分享等功能.是一个很好的替代库.
在使用分享文件时,需要注意option的参数设置,否则会将文件地址以字符串的形式分享出去:

 const shareOptions = {title: "React Native",type: 'application/pdf',url: `data:application/pdf;base64,${PDF_BASE64}`,showAppsToView: true,}

如上面代码所示,分享pdf的时候,需要添加**type: ‘application/pdf’**字段的值.url可以按照下面这种形式添加:

url: "file:///storage/emulated/0/demo/test.pdf"

在最新版本中使用时,也会出现这种问题,可参考:
https://github.com/react-native-community/react-native-share/issues/718#issuecomment-601244491

至此完成分享功能的说明.


React-Native调用系统分享组件Share组件的使用相关推荐

  1. React Native按钮详解|Touchable系列组件使用详解

    转载自:http://www.devio.org/2017/01/10/React-Native按钮详解-Touchable系列组件使用详解/ 在做App开发过程中离不了的需要用户交互,说到交互,我们 ...

  2. React Native 轻松集成分享功能(Android 篇)

    关于推送的集成请参考这篇文章,关于统计的集成请参考这篇文章,本篇文章将引导你集成分享功能. 在集成插件之前,需要在各大开放平台上成功注册应用,并通过审核(支持 3 个可选的主流平台).支持的平台如下: ...

  3. Android之调用系统分享

    1.调用系统分享关键代码 private void shareImage() {Intent intent = new Intent(Intent.ACTION_SEND); intent.setFl ...

  4. Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享

    Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享 标签: Android系统分享QQ分享朋友圈图文分享 2016-09-27 22:54 279人阅读 评论(0) 收藏 举报 ...

  5. android - 调用系统分享功能分享图片

    step1: 编写分享代码, 将Uri的生成方式改为由FileProvider提供的临时授权路径,并且在intent中添加flag 注意:在Android7.0之后,调用系统分享,传入URI的时候可能 ...

  6. android 调用系统分享到微信,Android调用系统分享直接抵达微信

    前言 相对于使用微信官方的分享sdk,系统调用的分享到微信还是有很大的差异的. 系统分享而微信官方sdk分享的最大区别就是关于朋友圈分享,微信朋友圈对系统分享的限制是只允许分享照片.而对分享给联系人, ...

  7. android qq图片分享到朋友圈,Android 调用系统分享文字、图片、文件,可直达微信、朋友圈、QQ、QQ空间、微博...

    转载自:https://www.liangzl.com/get-article-detail-18749.html 兼容SDK 18以上的系统,直接调用系统分享功能,分享文本.图片.文件到第三方APP ...

  8. Android 调用系统分享图片、视频等文件

    目录 序言 打开文件管理器 分享操作 文件Uri转化为String 序言 一般都会集成Umeng的分享,基本的分享都可以满足,但是要想分享文件,比如pdf.doc.ppt等类型时,umeng就不能满足 ...

  9. React Native调用Android接口

    由于工作需要近期研究了下React Native调用Android接口,该文章将介绍自己在RN环境搭建和封装第三方SDK接口以及RN调用Android接口的趟坑过程.(第一次写博客,写的不好请大家勿喷 ...

  10. 10.React Native之常量、变量、组件;

    目录 1.变量定义 1.1代码块变量 1.2成员变量 1.3常量(const) 1.4全局变量 1.4.1导出和导入的方式 1.4.2声明全局变量 1.5静态变量 2.组件定义 3.特定平台代码 1. ...

最新文章

  1. sqlplus 汉字乱码问题的解决
  2. html after 只能应用于p标签吗,css after是什么意思?
  3. Servlet映射路径中的通配符
  4. 本科计算机学的都是皮毛吗,教唆高考生千万别学计算机专业,为什么相当于断人前途?...
  5. python输入多个数据存入列表_python怎么把input的值储存到一个列表
  6. matlab转换成vc,如何将matlab65函数转换成vc++60动态链接库.doc
  7. 使用Spring Security和jdbc的Spring Boot
  8. python网站数据写入mysql_python网络爬虫抓取动态网页并将数据存入数据库MySQL
  9. 首个windowsForm应用项目 1123
  10. 二阶齐次线性微分方程的通解公式_数学考研辅导(数二)063|高数常微分方程6
  11. tempdb页面分配争用问题
  12. 提高局域网速度的21招
  13. 【Adobe美术基础】字体安装
  14. 服务器SQL上的MSDTC不可用解决办法
  15. 用主机搭建本地服务器局域网
  16. linux oracle ora-12162,oracle ORA-12162: TNS:net service name is incorrectly specified
  17. 苹果8硬件保修服务器,iPhone手机刷机报错,很多是硬件问题
  18. mysql 初始化my.cnf_my.cnf初始化配置
  19. 易捷文件共享web服务器 v3.5,易捷文件共享Web服务器 官方版
  20. Android仿微信朋友圈图片展示效果,图片查看器

热门文章

  1. Java批量数据清洗
  2. Phonegap 之 iOS银联在线支付(js调用ios端银联支付控件)
  3. AFLGO插桩代码分析记录
  4. CUDA版本与驱动对应情况
  5. Mujoco入门教程1-xml文件学习
  6. LU分解法求解方程组(C语言)
  7. 问卷分析SPSS+AMOS实证步骤
  8. 美洽消息推送 php,ThinkPHP内核仿美洽多商户多端接入无限客服系统支持PC+WAP+公众号接入...
  9. jsplumb入门教程及视频教程链接
  10. 在ubuntu中安装DroidCam