让Android分享再simple一点

2017-12-25  本文已影响67人  似水无痕ls

前言

相信众多android developers在开发的项目中都遇到过分享需求,要分享到各个平台,通常的做法有三种:

前两种做法都很好,很多类都做了封装,功能也完善,调用起来也方便。但是以往我集成的过程感觉还是繁琐复杂,还需要去平台申请sdk。第三种做法虽然也可以实现分享,但是就不能指定特定的一个平台分享。
而且有些需求仅仅就是图文分享功能,前两种做法于是就有种大材小用的感觉。于是针对这种图文分享,就在想能不能让分享更简单些。于是乎,AndroidSystemShare应运而生。

小巧、简单是是本库的初衷以及特点

效果

ui.gif

集成

AS导入

compile 'com.allenliu:AndroidSystemShare:1.0.1'

使用

两句代码实现分享

 AndroidShare share = new AndroidShare
                .Builder(this)
                .setPlatform(AndroidSharePlatform.INSTAGRAM)
                .setImageUris(imageUris)
                .setContent("test")
                .build();
        share.share();
平台 纯文本 单图 多图
WECHAT Y Y Y
WECHAT_TIMELINE N Y Y
QQ Y Y Y
QZONE Y Y Y
SINA Y Y Y
INSTAGRAM N Y N
FACEBOOK N Y Y
WHATSAPP Y Y Y
TWITTER Y Y N
GMAIL N Y Y
SYSTEMSHARE - - -

分享原理

基于安卓系统分享,安卓系统分享大致原理:需要接收分享的app通过manifest注册filter过滤器指定分享类型mimetype,然后系统通过Intent指定mimetype过滤出所有支持此类型的app,然后显示出来。
既然能显示出来,只要找到各个app activity的ComponentName就能实现直接打开app并且分享。
该方法虽然简单,但是对于分享结果的回调并不能监听到。所以本库对于只是将图文分享出去并且不在乎分享结果的需求还是挺有用的。

库地址:https://github.com/AlexLiuSheng/AndroidSystemShare
最后欢迎Star || Issue || Pull request

上一篇下一篇

猜你喜欢

热点阅读