Android——App内文件分享功能
2017-08-08 17:28
288 查看
国内的Android开发者,在遇到App内有分享功能时,基本都是对接友盟分享、ShareSDK分享等第三方SDK。简单的集成SDK以及配置之后,即可分享至多个不同App平台。反而很少来使用Android系统原生提供的分享功能。
相比集成第三方分享平台,系统自带的分享功能的优势为:
1、将筛选出手机内所有可以接收该分享的App用于分享(使用第三方指定分享到QQ等App时,该手机内可能并没有安装QQ软件)。
2、对分享的内容、类型限制较小(比如可以文件分享,可以大图分享等,之前使用第三方分享的时候,图片大小会有限制,且支持文件分享的平台较少)。
3、集成和使用简便。代码在后面给出,代码量很少,而且使用系统自带的功能,让人放心。
而使用第三方平台的优势为:
1、内容只能分享到指定App去,而不是一大堆可选,且能保证分享正确性(比如系统自带的分享文件,会有微信朋友圈选项,点击后会提示不支持此种资源)。
2、能统计分享次数(第三方会帮我们统计),分享出去的东西会带上App属性(比如一个链接,会显示是从哪个App分享过来的。原生分享没试过,不知是否也会带)。
相比集成第三方分享平台,系统自带的分享功能的优势为:
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; }
相关文章推荐
- 如何为iOS app添加AirDrop文件分享功能
- Android App开发记录 —配置文件的功能
- Android APP代码拨打电话、打开手机分享功能等隐式意图
- 在Android中使App快速、简单地支持新浪微博、微信、QQ、facebook等十几个主流社交平台的分享功能
- Android APP分享功能实现 .
- 如何自定义android分享功能可以分享的文件格式~
- android APP 中微信分享功能实现 的总结
- [绍棠] 如何为iOS app添加AirDrop文件分享功能
- Android Share 将图片或者文件分享到自己的APP 中
- Android APP代码拨打电话、打开手机分享功能等隐式意图
- Android中实现下载和解压zip文件功能代码分享
- Android 实现文件分享功能(共享多个文件)
- Android应用中使用及实现系统“分享”功能(多个文件,多种媒体格式触发)
- android APP 中微信分享功能实现 的总结
- [置顶] 在Android中使App快速、简单地支持新浪微博、微信、QQ、facebook等十几个主流社交平台的分享功能
- Android APP集成新浪微博分享功能
- android APP 中微信分享功能实现 的总结
- Android App 分享功能实现
- 如何为iOS app添加AirDrop文件分享功能
- Android APP分享功能实现