Android QQ/微信第三方登陆 分享,支付宝微信支付

前言

网上的各种第三方资料蛮多的,但大多都只是将官网的解释文档用代码翻译一次,实际集成也需要自己去一个个集成,那么因此本人将QQ/微信的分享登陆功能以及微信/支付宝的支付功能集成, 方便使用.

Demo的github地址

ThirdToolsLib

集成第三方登陆分享(微信/QQ),第三方支付(支付宝,微信,盛付通)
本Demo并不能直接使用,若要使用此项目,请将主项目的applicationId改为你的包名,signingConfigs配置签名配置

使用方式

gradle引入:

compile 'com.allure0:ThirdToolsLib:1.0.0'
  • 主项目的gradle.properties里必须配置isCompile,默认填写true,参见demo

    属性 解释
    true 使用libs里的第三包
    false 自行选择功能与第三方jar包

    例:只需要使用支付宝的支付功能:
    主项目build放入最新的支付宝jar包:

    dependencies {
    ···
    compile files('libs/alipaySdk-20161222.jar')   
    ···
    }

    gradle.properties配置:

    isCompile=true

对于QQ需要在主项目build文件配置如下qq_id,将1105787445替换为你的QQ的APPKEY,参见主项目build.gradle

 manifestPlaceholders = [
                qq_id: "1105787445"
        ]

效果图

初始化配置

PlatformConfig platformConfig = PlatformConfig.getInstance()
                .setQqId("xxx")
                .setWeChatId("xxxx")
                .setWeChatSecret("");//如果是服务处理token和code不需要传此参数

        PlatformManager.getInstance()
                .setPlatformConfig(platformConfig)
                .initQQ(this)
                .initWx(this);

QQ登陆

     LoginManager
                .with(MainActivity.this)
                .thirdLogin(LoginPlatform.PLATFORM_QQ);              

微信登陆

 LoginManager.with(MainActivity.this)
             .thirdLogin(LoginPlatform.PLATFORM_WECHAT);

微信分享

 ShareUtils.initShareUtils(
                        BaseApplication.getInstance(), text, text, imgUrl, url,
                        BitmapFactory.decodeResource(BaseApplication.getInstance().getResources(),
                                R.drawable.ic_launcher)
                ).shareToWX(MainActivity.this, ShareUtils.WECHAT_CIRCLE);

QQ分享

ShareUtils.initShareUtils(
                        BaseApplication.getInstance(), text, text, imgUrl, url,
                        BitmapFactory.decodeResource(BaseApplication.getInstance().getResources(),
                                R.drawable.ic_launcher)
                ).shareToQQ(MainActivity.this, "测试啦");

微信支付

  PayManager.with(MainActivity.this)
            .wxPay( wxPayBean);

支付宝支付

 PayManager.with(MainActivity.this)
           .aliPay(ali_orderinfo, new AliPayListener() {
                            @Override
                            public void aliPayResult(String string, AliPayResult payResult) {
                                Log.e("支付状态", string);
                                Log.e("支付状态", payResult.getResultStatus());
                            }
                        });

观察者模式接受处理结果

 @Override
    public void thirdLoginSuccess(Object obj, LoginPlatform platform, LoginResult loginResult) {

    }

    @Override
    public void thirdLoginFailed(Object object, LoginPlatform loginPlatform) {

    }

    @Override
    public void thirdLoginCancel(LoginPlatform loginPlatform) {

    }

    @Override
    public void shareSuccess(SharePlatform sharePlatform) {

    }

    @Override
    public void shareFailed(SharePlatform sharePlatform) {

    }

    @Override
    public void paySuccess(PayPlatform payPlatform) {

    }

    @Override
    public void payFailed(PayPlatform payPlatform) {

    }

若有BUG或者疑问,请提交Issues。者QQ群:482906631

你可能感兴趣的:(android开发,android,第三方分享,第三方登陆,支付宝支付,微信支付)