ShareLoginPayUtil
所属分类:Web商城
开发工具:Java
文件大小:7490KB
下载次数:0
上传日期:2019-11-28 08:53:16
上 传 者:
sh-1993
说明: 原生三方(QQ、微信、微博、Instagram、Google、FaceBook)登陆,(QQ、微信、微博、系统)分享,(微信、支付宝)支付
(Native tripartite (QQ, WeChat, Weibo, Instagram, Google, FaceBook) login, (QQ, WeChat, Weibo, system) sharing, (WeChat, Alipay) payment)
文件列表:
LICENSE (11357, 2019-11-28)
build.gradle (1268, 2019-11-28)
example (0, 2019-11-28)
example\build.gradle (2703, 2019-11-28)
example\proguard-rules.pro (3173, 2019-11-28)
example\release (0, 2019-11-28)
example\release\V_104.apk (3223721, 2019-11-28)
example\release\output.json (191, 2019-11-28)
example\src (0, 2019-11-28)
example\src\main (0, 2019-11-28)
example\src\main\AndroidManifest.xml (1379, 2019-11-28)
example\src\main\java (0, 2019-11-28)
example\src\main\java\com (0, 2019-11-28)
example\src\main\java\com\App.java (464, 2019-11-28)
example\src\main\java\com\LoginBottomDialog.java (3594, 2019-11-28)
example\src\main\java\com\MainActivity.java (2248, 2019-11-28)
example\src\main\java\com\PayBottomDialog.java (3154, 2019-11-28)
example\src\main\java\com\ShareBottomDialog.java (4067, 2019-11-28)
example\src\main\res (0, 2019-11-28)
example\src\main\res\layout (0, 2019-11-28)
example\src\main\res\layout\activity_login.xml (1492, 2019-11-28)
example\src\main\res\layout\activity_main.xml (1432, 2019-11-28)
example\src\main\res\layout\activity_share.xml (928, 2019-11-28)
example\src\main\res\layout\layout_bottom_login.xml (3796, 2019-11-28)
example\src\main\res\layout\layout_bottom_pay.xml (2841, 2019-11-28)
example\src\main\res\layout\layout_bottom_share.xml (9581, 2019-11-28)
example\src\main\res\mipmap-hdpi (0, 2019-11-28)
example\src\main\res\mipmap-hdpi\ic_launcher.png (3418, 2019-11-28)
example\src\main\res\mipmap-hdpi\ic_launcher_round.png (4208, 2019-11-28)
example\src\main\res\mipmap-mdpi (0, 2019-11-28)
example\src\main\res\mipmap-mdpi\ic_launcher.png (2206, 2019-11-28)
example\src\main\res\mipmap-mdpi\ic_launcher_round.png (2555, 2019-11-28)
example\src\main\res\mipmap-xhdpi (0, 2019-11-28)
example\src\main\res\mipmap-xhdpi\ic_launcher.png (4842, 2019-11-28)
example\src\main\res\mipmap-xhdpi\ic_launcher_round.png (6114, 2019-11-28)
example\src\main\res\mipmap-xxhdpi (0, 2019-11-28)
... ...
# 改自https://github.com/shaohui10086/ShareUtil ,在其基础上添加些许功能及优化,改动如下:
```
1. 使用rxjava2
2. 添加小程序分享支持
3. 部分代码优化
4. 添加微信、支付宝支付,避免主目录添加wx文件夹方式
5. 同步更新微博官方分享支付(2018-6-22)
6. 支持网络依赖
7. 支持Instagram、Google、FaceBook、Twitter海外登录方式,调用方式一致
```
[ ![](https://api.bintray.com/packages/nfleo/ShareLoginPayUtil/ShareLoginPayUtil/images/download.svg) ](https://bintray.com/nfleo/ShareLoginPayUtil/ShareLoginPayUtil/_latestVersion)
## TODO
- 支持多图分享
- 支持视频分享
## ChangeLog
#### 2019-11-26
- 分享添加分享开始回调
#### 2019-05-30
- 添加并测试成功Twitter登录
#### 2019-05-29
- 添加并测试成功Instagram登录
- 添加并测试成功FaceBook登录
- 添加并测试成功Google登录
#### 2019-05-23
- 更新支付宝支付(修改为aar依赖方式)
- 去除登录、分享、支付所产生的内存泄漏
#### 2018-12-3
- 统一provider authorities方便多provider并存
- authorities 必须为 包名.file.provider
#### 2018-11-28
- 修复分享、登录、支付引发的内存泄漏
- 登录结果回调新增登录失败code
- 修复7.0无法调用系统分享问题
#### 2018-08-27
- 抽离出gradle基础配置,方便调用时更改
#### 2018-07-27
- 修复微信支付成功无法获取回调
#### 2018-07-12
- 修复QQ分享无法获取成功回调
#### 2018-07-11
- 兼容安卓8.0
#### 2018-06-22
- 去除银联支付
- 重写微博分享登录
- 支持资源图片分享
- 修改shareActivity为透明
#### 2018-05-07
- 添加微信支付、支付宝支付
#### 2018-04-29
- 修复小程序无法分享问题
- qq_id置于shareutil包中,引用时直接修改该值
- 暴露直接分享接口,分享过程需对图片进行二次处理(添加水印或其他处理),分享时直接传入处理后的图片,并调用直接分享方法
#### 2018-02-07
- 改用rxjava2库,支持小程序分享功能
# ShareUtil
`ShareUtil`是一个综合性的分享及登录工具库,
支持微信分享,微博分享,QQ分享,QQ空间分享以及Android系统默认分享,
分纯文字、纯图片、图文混合(支持小程序分享)分享方式
支持微信登录,微博登录以及QQ登录并获取用户信息。
## Feature
1. 多种分享方式: 纯文字、纯图片、图文混合
2. 支持分享图片本地链接,网络链接或者Bitmap, 不需要考虑各个平台的不一致性。
3. 支持微信、QQ、微博登录并获取登录用户信息
4. 支持小程序分享
5. 混淆代码见 example module下 混淆文件
## Usage
### 使用配置
#### 使用方式
1. 项目主module中 build.gradle 添加如下代码
```
defaultConfig {
...
// 必须配置qqid 否则无法获取分享成功回调
// 注:以下三个参数均为占位,里面的值随意
manifestPlaceholders = [
qq_id: "1106618327"
FACEBOOK_APP_ID: "1106618327",
FACEBOOK_SCHEME: "1106618327"
]
...
}
api 'com.nfleo:ShareLoginPayUtil:1.1.2'
```
2. 项目build.gradle 中添加如下代码
```
buildscript {
repositories {
jcenter()
maven { url "https://dl.bintray.com/thelasterstar/maven/" }
}
}
allprojects {
repositories {
maven {url "https://maven.google.com"}
google()
// 微博 SDK 所需的配置
maven { url "https://dl.bintray.com/thelasterstar/maven/" }
// 支付宝 SDK AAR 包所需的配置
flatDir {
dirs '../shareutil/libs'
}
jcenter()
}
}
......
// 所需版本可自行配置
ext {
compileSdkVersion = 27
minSdkVersion = 21
targetSdkVersion = 27
supportVersion = "27.1.1"
}
```
3. 在使用之前设置在各个平台申请的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);
** 系统分享图片必须添加以下两步
1. 必须在AndroidManifest.xml添加 provider
2.res文件夹下创建xml文件夹,并在xml下创建file_paths.xml 文件名随便取
注:分享图片保存地址为 /storage/emulated/0/Android/data/com.leo.project/files/share_image.jpg
因此保存到 外部存储区域根目录下(使用 external-files-path)
### 分享使用
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);
// miniId为小程序id miniPath为小程序Path
// 低版本微信不支持小程序分享, 此时默认网页分享方式
ShareUtil.shareMedia(this, SharePlatform.WX, "title", "summary", "targetUrl", "thumb", "miniId", "miniPath", 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);
### 支付使用
// PayPlatform.ALIPAY 支付宝支付
// PayPlatform.WXPAY 微信支付
PayListener mPayListener = new PayListener() {
@Override
public void paySuccess() {
Toast.makeText(v.getContext(), "支付成功", Toast.LENGTH_SHORT).show();
}
@Override
public void payFailed(Exception e) {
Toast.makeText(v.getContext(), "支付失败 " + e.getMessage(), Toast.LENGTH_SHORT).show();
}
@Override
public void payCancel() {
Toast.makeText(v.getContext(), "支付取消", Toast.LENGTH_SHORT).show();
}
};
// 支付宝支付
AliPayParamsBean payParamsBean = new AliPayParamsBean();
payParamsBean.setOrderInfo("xxxx");
PayUtil.pay(getContext(), PayPlatform.ALIPAY, payParamsBean, mPayListener);
// 微信支付
WXPayParamsBean wxPayParamsBean = new WXPayParamsBean();
wxPayParamsBean.setAppid("xxxx");
wxPayParamsBean.setNonceStr("xxxx");
wxPayParamsBean.setPartnerid("xxxx");
wxPayParamsBean.setPackageValue("xxxx");
wxPayParamsBean.setPrepayId("xxxx");
wxPayParamsBean.setSign("xxxx");
wxPayParamsBean.setTimestamp("xxxx");
PayUtil.pay(getContext(), PayPlatform.WXPAY, wxPayParamsBean, mPayListener);
## 使用说明
1. QQ不支持纯文字分享,会直接分享失败
2. 使用Jar文件的版本如下:
微信版本:com.tencent.mm.opensdk:wechat-sdk-android-without-mta:5.1.4
QQ版本:libs/open_sdk_r6008_lite.jar
微博版本: com.sina.weibo.sdk:core:4.1.0:openDefaultRelease@aar
支付宝版本: 'libs/alipaySdk-20180403.jar'
3. 分享的bitmap,会在分享之后被回收掉,所以分享之后最好不要再对该bitmap做任何操作。
4. ShareListener的回调结果仅供参考,不可当做分享是否返回的依据,它并不是那么完全可靠,因为某些操作,例如微博分享取消,但是用户选择了保存草稿,这时候客户端并不会收到回调,所以也就不会调用ShareListener的onCancel
## Thanks
- https://github.com/shaohui10086/ShareUtil
- https://github.com/tianzhijiexian/ShareLoginLib
近期下载者:
相关文件:
收藏者: