首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >android微信第三方登录

android微信第三方登录

作者头像
tea9
发布2022-07-16 15:43:29
发布2022-07-16 15:43:29
1.6K0
举报
文章被收录于专栏:tea9的博客tea9的博客

github测试地址 https://github.com/shaomiao/AndroidWechatTest 微信SDK下载地址 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1 微信开放平台 https://open.weixin.qq.com/ 微信api https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417751808&token=dcf5c640a7da2e579f50e32e282eb1bc1f384c0b&lang=zh_CN ####开始接入微信登录 1.申请你的AppID 注意: #####包名正确(重要) #####签名正确(重要) 微信提供的签名生成工具 把包名添加上去就可以获取签名 注意:把要获取签名的应用安装在手机上 https://res.wx.qq.com/open/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android2.apk 2.下载开发工具包 https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&lang=zh_CN 3.在项目中引入开发包

4.使用开发工具包 下面代码都是在MainActivity中 [1]注册微信

代码语言:javascript
复制
private static final String APP_ID="你的appid";
private IWXAPI api;
private void regToWx(){
    api= WXAPIFactory.createWXAPI(this,APP_ID,true);
    api.registerApp(APP_ID);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      //注册微信
      regToWx();
}

[2]登录微信

代码语言:javascript
复制
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //注册微信
    regToWx();
    findViewById(R.id.wechat_login).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //登录微信
            final SendAuth.Req req = new SendAuth.Req();
            req.scope = "snsapi_userinfo";
            req.state = "wechat_sdk_demo_test";
            api.sendReq(req);
        }
    });
}

5.下面是最重要的一步。。。。 [1]建包 注意:要在你的包名下新建 wxapi 包 你的包名.wxapi

[2]建立与微信通讯的activity 在wxapi下新建activity WXEntryActivity [3]在AndroidManifest.xml中添加权限

代码语言:javascript
复制
<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

[4]在AndroidManifest.xml中添加activity注册

代码语言:javascript
复制
<activity android:name=".wxapi.WXEntryActivity"
    android:label="@string/app_name"
    android:exported="true"
    android:launchMode="singleTop"
    >
</activity>

[5]在WXEntryActivity中继承Activity并实现IWXAPIEventHandler接口

重写onCreate方法 在onCreate中需要重新注册一下微信 要不微信不执行回掉

实现onReq和onResp方法 使用okhttp获取微信的openid和用户信息 http://www.jianshu.com/p/c92e1134448d

在onResp中可以获取code  通过code参数加上AppID和AppSecret等,通过API换取access_token;  通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。 详情请参照 https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317851&token=dcf5c640a7da2e579f50e32e282eb1bc1f384c0b&lang=zh_CN

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档