国内的Android开发者,在遇到App内有分享功能时,基本都是对接友盟分享、ShareSDK分享等第三方SDK。简单的集成SDK以及配置之后,即可分享至多个不同App平台。反而很少来使用Android系统原生提供的分享功能。
相比集成第三方分享平台,系统自带的分享功能的优势为:

1、将筛选出手机内所有可以接收该分享的App用于分享(使用第三方指定分享到QQ等App时,该手机内可能并没有安装QQ软件)。
2、对分享的内容、类型限制较小(比如可以文件分享,可以大图分享等,之前使用第三方分享的时候,图片大小会有限制,且支持文件分享的平台较少)。
3、集成和使用简便。代码在后面给出,代码量很少,而且使用系统自带的功能,让人放心。

而使用第三方平台的优势为:

1、内容只能分享到指定App去,而不是一大堆可选,且能保证分享正确性(比如系统自带的分享文件,会有微信朋友圈选项,点击后会提示不支持此种资源)。
2、能统计分享次数(第三方会帮我们统计),分享出去的东西会带上App属性(比如一个链接,会显示是从哪个App分享过来的。原生分享没试过,不知是否也会带)。

    // 調用系統方法分享文件public static void shareFile(Context context, File file) {if (null != file && file.exists()) {Intent share = new Intent(Intent.ACTION_SEND);share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));share.setType(getMimeType(file.getAbsolutePath()));//此处可发送多种文件share.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);share.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);context.startActivity(Intent.createChooser(share, "分享文件"));} else {ToastUtils.showToast("分享文件不存在");}}// 根据文件后缀名获得对应的MIME类型。private static String getMimeType(String filePath) {MediaMetadataRetriever mmr = new MediaMetadataRetriever();String mime = "*/*";if (filePath != null) {try {mmr.setDataSource(filePath);mime = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_MIMETYPE);} catch (IllegalStateException e) {return mime;} catch (IllegalArgumentException e) {return mime;} catch (RuntimeException e) {return mime;}}return mime;}

Android——App内文件分享功能相关推荐

  1. android 分享到微博客户端,Android APP集成新浪微博分享功能

    本文为大家分享了新浪微博分享功能集成,供大家参考,具体内容如下 直接导入weibosdkcore.jar:适用于只需要授权.分享.网络请求框架功能的项目. 无论使用哪一种方式,都需要先将demo中li ...

  2. Android App内截屏监控及涂鸦功能实现

    Android App内截屏监控及涂鸦功能实现 Android截屏功能是一个常用的功能,可以方便的用来分享或者发送给好友,本文介绍了如何实现app内截屏监控功能,当发现用户在我们的app内进行了截屏操 ...

  3. android APP内显示PDF文件

    android APP内显示PDF文件 最近公司要做一个小功能,显示在APP内部显示pdf文件,刚接到任务感觉非常简单的一小功能,做的时候才发现在真的很不好实现. 因为android的webView与 ...

  4. Android App接入Facebook分享SDK,概率性无法启动Facebook客户端的问题分析

    问题来源 由于我司的android app产品主要是面向海外,因此,app中的分享功能接入facebook分享是必不可少的.最近在接入facebook android sdk进行分享时,发现一个非常奇 ...

  5. android 后台截屏代码,Android实现截图和分享功能的代码

    先给大家展示下效果图吧 直接上代码: xml的布局: android:id="@+id/btn_jp" android:layout_marginTop="10dip&q ...

  6. ipad android tv,先河私有云持续大动作:继iPad/Android TV端/系统分享功能后,还有新玩法?...

    原标题:先河私有云持续大动作:继iPad/Android TV端/系统分享功能后,还有新玩法? 由5.1劳动节伊始,勤劳的先河小蜜蜂们(先河研发人员)可是忙疯了! 首先是经过连日来的挑灯夜战,5月18 ...

  7. Android App Bundle:动态功能模块

    目录 Android App Bundle 创建动态功能模块 动态功能模块 与主模块建立关联 部署应用 按需分发On-Demand 免安装分发 自 2021 年 8 月起,Google Play 将开 ...

  8. android 截屏 分享,Android应用内截图分享的实现记录

    Android应用内截图分享的实现记录 近期的项目中有个需求,需要将某个表示用户身份的页面整个截取下来,分享到微信微博.网上也很多的解决方案,我也分享下我自己的爬坑记录. 需求分析 有个页面,用于展示 ...

  9. android查看程序缓存文件,Android App的文件缓存目录

    Android app的文件缓存目录可以是app内置私有的目录,当然也可以选择外置sdcard目录 内置私有目录 /data/data/[packagename]/files 文件缓存目录,一般存小的 ...

最新文章

  1. C++——创建类的时候用new与不用new 的区别(转)
  2. HDU_4014 Discont (water~)
  3. Java语言编程基础:数组
  4. java如何arraylist_Java如何使用ArrayList类?
  5. Redis bgsave 线上分析
  6. php parse url 中文,php parse_url()函数解析URL用法总结
  7. 查看xenapp 6.5 LIC版本
  8. Arduino AT24C02详解读写地址位
  9. the permission value is offline verifying
  10. linux系统截图有快捷键吗,Linux下用快捷键截图
  11. 移动安全 第六天-Iot安全
  12. 如何通俗易懂地解释什么是SOA?什么是服务治理
  13. 办公室绿植租赁布置方案
  14. 支撑小米万亿级的消息队列架构与实践
  15. 2023河南理工大学计算机考研信息汇总
  16. 第10章 Python第三方库概览
  17. Linux:如何让内网的服务器能上网
  18. 计算机网络--应用层(2)P2P应用
  19. 如何让自己像打王者荣耀一样发了疯、拼了命的学习?
  20. http://user.qzone.qq.com/383074470/blog/1270631840

热门文章

  1. python小白入门第二课-标识符数据类型字符串方法
  2. EI 收录的出版物目录(EI检索目录表格官方下载)
  3. pentaho-server 与 Pentaho Data Integration(pentaho-kettle)
  4. 修约函数,四舍六进五单双 的修约规则,给有需要的朋友参考
  5. 抽奖逻辑java_Java 利用binarySearch实现抽奖计算逻辑
  6. GAMS系列分享12—GAMS基础知识——模型和求解
  7. 如何快速制作微信旅游相册?简单操作,效果精美!
  8. 模板设计模式的两种方式
  9. 黄冈师范学院计算机科学与技术学院,黄冈师范学院 计算机科学与技术学院 刘小俊老师简介 联系方式 手机电话 邮箱...
  10. 放置街灯(UVA 10859)