ShareUtil
项目地址:
shaohui10086/ShareUtil
简介:简单的 Android 社会化分享登录库,一行代码搞定
标签:
Share-
Login-
ShareUtil
是一个综合性的分享及登录工具库,支持微信分享,微博分享,QQ 分享,QQ 空间分享以及 Android 系统默认分享,支持微信登录,微博登录以及 QQ 登录并获取用户信息。
Preview
Feature
多种分享方式:
支持分享图片本地链接,网络链接或者 Bitmap, 不需要考虑各个平台的不一致性。
支持微信、QQ、微博登录并获取登录用户信息
Usage
添加依赖
免第三方 Jar 包配置
compile 'me.shaohui.shareutil:shareutil:1.3.8'
手动添加第三方 jar
compile 'me.shaohui.shareutil:shareutil:1.3.8.no_jar'
使用配置
build.gradle 配置 在 defaultConfig 节点下增加你的 qq id 信息
defaultConfig { ... manifestPlaceholders = [ // 替换成你的 qq_id qq_id: "123456789" ] }
在使用之前设置在各个平台申请的 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);
使用说明
- QQ 不支持纯文字分享,会直接分享失败
使用 Jar 文件的版本如下:
微信版本:3.1.1 QQ 版本:3.1.0 lite 版 微博版本: 3.1.4
- 分享的 bitmap,会在分享之后被回收掉,所以分享之后最好不要再对该 bitmap 做任何操作。
- example 中的代码可以参考,但是不可运行,因为需要保证包名以及签名文件和你申请各个平台 id 所填写信息保持一致
- 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
- 微信内存泄露
- 图片加载失败,关闭 Activity