Android端集成微信原生登录

依赖

//微信SDK

implementation'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'

清单配置(在中间加入以下代码

        android:name=".wxapi.WXEntryActivity"

        android:configChanges="keyboardHidden|orientation|screenSize"

        android:exported="true"

        android:theme="@android:style/Theme.Translucent.NoTitleBar" />

创建wxapi的Activity

在你的包名下建一个子package叫wxapi,这个名字不能改,然后在里面新建  WXEntryActivity -> 微信登录/微信分享回调

Android端集成微信原生登录_第1张图片

WXEntryActivity中代码:

/**

* @Author : XiaoXred

* @Time : On 2020/11/20 11:08

* @Description : WXEntryActivity

*/

public class WXEntryActivity extends Activity implements IWXAPIEventHandler, CancelAdapt {

@Override

    protected void onCreate(Bundle bundle) {

AppManager.getInstance().addActivity(this);

        super.onCreate(bundle);

        //接收到分享以及登录的intent传递handleIntent方法,处理结果

        IWXAPI iwxapi = WXAPIFactory.createWXAPI(this, AppID, false);

        iwxapi.handleIntent(getIntent(), this);

    }

@Override

    protected void onDestroy() {

super.onDestroy();

        AppManager.getInstance().finishActivity(this);

    }

@Override

    public void onReq(BaseReq baseReq) {

}

@Override

    public void onResp(BaseResp baseResp) {

//登录回调

}

//登录成功关闭

                finish();

break;

            case BaseResp.ErrCode.ERR_AUTH_DENIED://用户拒绝授权

                finish();

break;

            case BaseResp.ErrCode.ERR_USER_CANCEL://用户取消

                finish();

break;

            default:

finish();

break;

        }

}

}

在登录按钮调用

SendAuth.Req req =new SendAuth.Req();

req.scope ="snsapi_userinfo";

api.sendReq(req);


就这样集成完成啦


Android端集成微信原生登录_第2张图片

注:

1.如果出现包名不匹配请检查AndroidManifest中的包名和build.gradle中的包名是否和微信平台的包名一致

2.如果出现签名不匹配,请做以下操作:

第一步:

Android端集成微信原生登录_第3张图片

第二步:
使用方法是把这个APP安装到手机,然后把要获取签名的APP使用发布版签名安装到同一个手机,然后输入包名点击下图的获取。


Android端集成微信原生登录_第4张图片

第三步
签名和包名填写到页面底部的这里↓

Android端集成微信原生登录_第5张图片

你可能感兴趣的:(Android端集成微信原生登录)