最近做一个在app中加入系统分享的功能,分享一下自己踩坑的记录和成果。

安卓可以加入系统相册和文件管理器的分享菜单中,iOS目前只做到了加入在其他应用里调起系统分享的菜单,系统相册还有一些问题没有解决,欢迎各位开发者指出,一起学习。

1.Android先配置config.xml ,iOS先配置Info.plist

//config.xml: android.intent.action.SEND你app接受的单文件,mimeType是文件格式,可以自己去参考安卓官网查询

intent-filter>

intent-filter>

//Info.plist:记得一定要配置CFBundleTypeName字段,之前因为上架不配置此字段包无法上传,同理 LSItemContentTypes 是你app支持的文件类型。

CFBundleDocumentTypeskey>

CFBundleTypeNamekey>

A6026753217901string>

LSItemContentTypeskey>

com.microsoft.word.docstring>

array>

array>

2.监听应用被其他应用调起

api.addEventListener({

name: 'appintent'

}, function(ret, err) {

if(api.systemType === 'android'){

//点击系统分享菜单分享到自己app时,这里监听返回的参数是content://格式的,这个就是系统传过来的路径,不能直接使用,需要原生Uri对象转换

//不会原生自己封装模块的,我这边已经封装好了fileScan模块的streamToAbsolutePath

if(appParam['android.intent.extra.STREAM']){

//大家仔细观察下这个返回的参数,不像数组,中间还有个隐藏的空格字符,所以这里需要手动转换下,去掉中括号,去空格,转成以逗号分隔的形式。

var endPath =appParam['android.intent.extra.STREAM'].replace(/[|]/g,'')

var filePath =filePath.replace(/s+/g,'')

var fileScan =api.require('fileScan')

var param ={

streamPath:filePath

}

fileScan.streamToAbsolutePath(param,function(ret,err){

//这里就已经成功拿到绝对路径了

alert(JSON.stringify(ret.data))

})

}

}

if(api.systemType === 'ios'){

//ios可以直接返回绝对路径,这里不做多说

if(ret.iosUrl&&ret.iosUrl.indexOf('/') === 0){

//拿到文件绝对路径

var filePath =ret.iosUrl

}

}

});

文章来源: segmentfault.com,作者:APICloud,版权归原作者所有,如需转载,请联系作者。

原文链接:segmentfault.com/a/1190000038453816

apicloud加java,【APICloud】App开发中加入系统分享功能案例源码分享相关推荐

  1. JAVA毕业设计vue开发一个简单音乐播放器计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计vue开发一个简单音乐播放器计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计vue开发一个简单音乐播放器计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目 ...

  2. Java毕设项目大学生校园兼职系统计算机(附源码+系统+数据库+LW)

    Java毕设项目大学生校园兼职系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ E ...

  3. java计算机毕业设计扶贫平台MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计扶贫平台MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计扶贫平台MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  4. Java毕设项目社区团购系统计算机(附源码+系统+数据库+LW)

    Java毕设项目社区团购系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ecli ...

  5. Java毕设项目星光在线光影系统计算机(附源码+系统+数据库+LW)

    Java毕设项目星光在线光影系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ec ...

  6. JAVA计算机毕业设计星光在线光影系统计算机(附源码、数据库)

    JAVA计算机毕业设计星光在线光影系统计算机(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclis ...

  7. Java毕设项目智能快递分拣系统计算机(附源码+系统+数据库+LW)

    Java毕设项目智能快递分拣系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ec ...

  8. java计算机毕业设计汽车美容管理MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计汽车美容管理MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计汽车美容管理MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B/S架构 ...

  9. java计算机毕业设计高校运动会MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计高校运动会MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计高校运动会MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B/S架构 开 ...

最新文章

  1. 使用VAE、CNN encoder+孤立森林检测ssl加密异常流的初探——真是一个忧伤的故事!!!...
  2. Altium Designer 使用小结
  3. 关于Core Data的一些整理(一)
  4. cocos2dX改变锚点位置
  5. 使用mcisendstring重复播放音乐文件
  6. 计算机视觉图像去噪原理,图像去噪方法研究进展
  7. 使用C语言打印出一个菱形
  8. 黑客入侵效果网页html,满屏绿字滑下效果
  9. itextsharp php,详解C#使用iTextSharp添加PDF水印的代码案例
  10. Idea的JShell Console
  11. Firefox 中文语言包安装方法
  12. 团队作业9——项目验收与总结
  13. 用O(lgn)时间求出两个已排序数组的中位数
  14. 2017腾讯校招暑期实习生笔试题3
  15. android graphics,Android graphics值Bitmap
  16. python 移动平均线_Python中的SMA(短期移动平均线)
  17. Gym 100015H Hidden Code
  18. 淘宝直通车中的类目推广
  19. UIView相对坐标转换
  20. jsp表单提交中文乱码的解决

热门文章

  1. 什么是相对论?相对论是什么?用人话讲讲相对论
  2. QT 创建文件,文件夹
  3. Linux性能优化:性能优化工具
  4. 私有文件服务器,私有云文件服务器
  5. C++ Reference: Standard C++ Library reference: C Library: cstdio: vsnprintf
  6. SUBSTR()函数详解
  7. 【JAVA】科研信息管理系统
  8. 轻松学Android开发
  9. 树莓派实验室python人脸识别_使用树莓派进行简易人脸识别
  10. html页面中引入script标签的src的写法,/与//的区别