简单的 Android 社会化分享登录库,一行代码搞定

ShareUtil

项目地址: shaohui10086/ShareUtil
简介:简单的 Android 社会化分享登录库,一行代码搞定
更多: 作者    提 Bug   
标签:
Share- Login-

ShareUtil是一个综合性的分享及登录工具库,支持微信分享,微博分享,QQ 分享,QQ 空间分享以及 Android 系统默认分享,支持微信登录,微博登录以及 QQ 登录并获取用户信息。

Preview

share login

Feature

  1. 多种分享方式:

  2. 支持分享图片本地链接,网络链接或者 Bitmap, 不需要考虑各个平台的不一致性。

  3. 支持微信、QQ、微博登录并获取登录用户信息

Usage

添加依赖

免第三方 Jar 包配置

    compile 'me.shaohui.shareutil:shareutil:1.3.8'

手动添加第三方 jar

    compile 'me.shaohui.shareutil:shareutil:1.3.8.no_jar'

使用配置

  1. build.gradle 配置 在 defaultConfig 节点下增加你的 qq id 信息

     defaultConfig {
         ...
    
         manifestPlaceholders = [
                 //  替换成你的 qq_id
                 qq_id: "123456789"
         ]
    
     }
    
  2. 在使用之前设置在各个平台申请的 Id,以及分享的回调(推荐放在 Application 的 onCreate 方法中)

         // init
         ShareConfig config = ShareConfig.instance()
                 .qqId(QQ_ID)
                 .wxId(WX_ID)
                 .weiboId(WEIBO_ID)
                 // 下面两个,如果不需要登录功能,可不填写
                 .weiboRedirectUrl(REDIRECT_URL)
                 .wxSecret(WX_ID);
         ShareManager.init(config);
    

分享使用

    ShareUtil.shareImage(this, SharePlatform.QQ, "http://image.com", shareListener);
    ShareUtil.shareText(this, SharePlatform.WX, "分享文字", shareListener);
    ShareUtil.shareMedia(this, SharePlatform.QZONE, "title", "summary", "targetUrl", "thumb", shareListener);

登录使用

        // LoginPlatform.WEIBO  微博登录   
        // LoginPlatform.WX     微信登录
        // LoginPlatform.QQ     QQ 登录 
        final LoginListener listener = new LoginListener() {
                @Override
                public void loginSuccess(LoginResult result) {
                    //登录成功, 如果你选择了获取用户信息,可以通过
                }

                @Override
                public void loginFailure(Exception e) {
                    Log.i("TAG", "登录失败");
                }

                @Override
                public void loginCancel() {
                    Log.i("TAG", "登录取消");
                }
            };
        LoginUtil.login(MainActivity.this, LoginPlatform.WEIBO, mLoginListener, isFetchUserInfo);

使用说明

  1. QQ 不支持纯文字分享,会直接分享失败
  2. 使用 Jar 文件的版本如下:

     微信版本:3.1.1
     QQ 版本:3.1.0 lite 版
     微博版本: 3.1.4
    
  3. 分享的 bitmap,会在分享之后被回收掉,所以分享之后最好不要再对该 bitmap 做任何操作。
  4. example 中的代码可以参考,但是不可运行,因为需要保证包名以及签名文件和你申请各个平台 id 所填写信息保持一致
  5. ShareListener 的回调结果仅供参考,不可当做分享是否返回的依据,它并不是那么完全可靠,因为某些操作,例如微博分享取消,但是用户选择了保存草稿,这时候客户端并不会收到回调,所以也就不会调用 ShareListener 的 onCancel

ChangeLog

1.3.8
  • 修复在低端设备上,可能导致的 NullPointException 问题
1.3.7
  • 修复微信分享大图没反应 bug
  • 修复在 5.0 以下设备使用登录功能会意外收到登录取消回调
1.3.6
  • ShareUtil新增isInstalled方法,方便检查客户端是否安装
1.3.5
  • 修复 QQ 分享 media 类型错误
  • 完善 log
  • 开放 Application Context 调用
  • 增加检查外部存储
  • 重构部分代码
1.3.3
  • 增加 Debug 模式
1.3.2
  • 修复若干分享相关的 bug
1.3.1
  • 修复微博分享的 bug
1.3.0
  • 重构使用方式,minSdkVersion - > 9
1.2.8
  • 增加分享失败 Exception
1.2.7
  • 解决内存泄露的问题

TODO

  1. 微信内存泄露
  2. 图片加载失败,关闭 Activity

Thanks

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值