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

来源:互联网 发布:免费即时通讯软件 编辑:程序博客网 时间:2024/06/05 14:28

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

  • https://github.com/tianzhijiexian/ShareLoginLib
原创粉丝点击