Android——App内文件分享功能
来源:互联网 发布:如何抢注域名赚钱 编辑:程序博客网 时间:2024/06/07 05:00
国内的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; }
阅读全文
0 0
- Android——App内文件分享功能
- Android 应用内文件操作
- Android APP分享功能实现
- Android APP分享功能实现
- Android APP分享功能实现
- Android APP分享功能实现 .
- Android App 分享功能实现
- Android 将asserts文件夹内文件写入SD卡中
- C# 网络编程(2)——C# 实现局域网内文件传递
- 遍历文件夹内文件
- streamingAssetsPath 内文件读取
- 应用内文件预览
- linux内文件说明
- uboot内文件介绍
- 局域网内文件共享
- 扣丁学堂——APP分享功能
- app分享功能
- Android之——原生分享功能
- Jenkins Publish Over SSH插件实现远程发布
- Oracle 什么时候需要commit?
- angularJS入门
- 485总线连接,总结的比较好
- python 3 day3
- Android——App内文件分享功能
- 动态加载css方法实现和深入解析
- js中的this关键字详解
- P1088 火星人
- 【hdu 1702】 ACboy needs your help again!
- springboot+mybatis日志显示SQL的最简单方法
- 数组去重(方法)
- RocketMQ存储篇——IndexFile和IndexService
- 单向链表反转