美文网首页React Native开发React Native开发经验集
react-native-wechat安卓点击登录没有回调问题

react-native-wechat安卓点击登录没有回调问题

作者: 8ba7c349861d | 来源:发表于2019-04-25 17:56 被阅读6次

    项目中难免会用到第三方登录和分享,本项目中微信登录使用的第三方组件:# react-native-wechat

    使用

    yarn add react-native-wechat
    react-native link react-native-wechat
    

    在包名下新建wxapi文件夹,文件夹下新建文件WXEntryActivity.java

    package com.xxx.wxapi;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    import com.theweflex.react.WeChatModule;
    
    public class WXEntryActivity extends Activity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            WeChatModule.handleIntent(getIntent());
            finish();
        }
    }
    

    授权登录

    首先注册

    WeChat.registerApp(WechatAppID)
    

    授权登录

    WeChat.sendAuthRequest('snsapi_userinfo', 'ares')
            .then((response) => {
                console.log('-------------------- get wechat data is:', response)
                getWechatOpenId(response.code)
            })
            .catch((error) => {
                let errorCode = Number(error.code);
                if (errorCode === -2) {
                    dispatch(showDropdownAlert('error', '提示', '已取消授权登录')) // errorCode = -2 表示用户主动取消的情况,下同
                } else {
                    dispatch(showDropdownAlert('error', '提示', WechatAuthFailed)) // errorCode = -2 表示用户主动取消的情况,下同
                }
            })
    

    注意问题

    • 打包使用签名文件keystore文件的签名要和微信开发平台中填写的一一致
    • WXEntryActivity.java 中的package com.xxx.wxapi; 包名必须和微信开发平台中填写的包名一直,不然就会出现点击授权登录,回调没有反应的问题,可以解决这个问题:https://github.com/yorkie/react-native-wechat/issues/448

    相关文章

      网友评论

        本文标题:react-native-wechat安卓点击登录没有回调问题

        本文链接:https://www.haomeiwen.com/subject/dzozgqtx.html