首页/新闻资讯/正文
Android系统实现微信登录第三方APP的方法及前期准备工作

 2025年06月24日  阅读 12

摘要:【准备工作】在实现微信登录第三方APP功能前,需完成以下准备工作:在注册微信开放平台账户的过程中,必须同时提供APP的详细信息,这一行为是为了申请开通微信登录功能。下载微信软件开发工具包以及签名制作工具,获取关于应用签名的必要信息,例如SHA1值,然后将...

【准备工作】

在实现微信登录第三方APP功能前,需完成以下准备工作:

在注册微信开放平台账户的过程中,必须同时提供APP的详细信息,这一行为是为了申请开通微信登录功能。

下载微信软件开发工具包以及签名制作工具,获取关于应用签名的必要信息,例如SHA1值,然后将这些关键信息准确录入微信开放平台规定的相应模块。若签名信息填写出现差错,将可能引发后续功能运作不畅的问题。

【集成SDK】

将微信官方所提供的SDK文件,诸如libammsdk.jar,导入至项目的libs文件夹内,同时需在build.gradle文件中对依赖关系进行相应的设置。务必确认SDK的版本与微信客户端的版本保持一致,以防因版本不匹配而导致授权流程无法顺利完成。

【调用授权接口】

在APP登录按钮事件中,通过以下代码调起微信授权页面:


API变量属于IWXAPI这一类型,它是由WXAPIFactory这一类创建出来的。在其构造的过程中,必须提供两个关键的参数,一个是上下文环境context,另一个则是“你的APP_ID”。
创建一个SendAuth.Req类型的对象,命名为req。
请求的权限范围为snsapi_userinfo;
api.sendReq(req);

在配置过程中,必须将APP_ID替换为微信开放平台所提供的AppID。随后,用户将被引导至授权页面,在那里需完成登录验证。登录验证成功后,系统将发放一个临时的凭证code

//api注册
api = WXAPIFactory.createWXAPI(this, "APP_ID", true);
api.registerApp("APP_ID");
SendAuth.Req req = new SendAuth.Req();
//授权读取用户信息
req.scope = "snsapi_userinfo";
//自定义信息
req.state = "wechat_sdk_demo_test";
//向微信发送请求
api.sendReq(req);

【接收回调数据】

在指定目录下,需设立一个名为wxapi的子文件夹,并在该子文件夹中添加一个名为WXEntryActivity.java的文件。此文件应继承自Activity类,并确保实现了IWXAPIEventHandler接口。

在AndroidManifest.xml文件内完成注册流程,并且为该Activity设定必要的相关参数。声明微信回调:

<pre><code class="language-xml">

&lt;activity android:name=&quot;.wxapi.WXEntryActivity&quot;&gt;

微信开放平台怎么注册_微信登录第三方APP实现方法_Android微信登录SDK集成

&lt;intent-filter&gt;

public class WXEntryActivity extends Activity implements IWXAPIEventHandler{
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //注册API
    api = WXAPIFactory.createWXAPI(this, "APP_ID");
    api.handleIntent(getIntent(), this);
  }
  @Override
  public void onResp(BaseResp resp) {
    if(resp instanceof SendAuth.Resp){
      SendAuth.Resp newResp = (SendAuth.Resp) resp;
      //获取微信传回的code
      String code = newResp.code;
    }
  }
}

&lt;action android:name=&quot;android.intent.action.VIEW&quot; /&gt;

</code></pre>

【获取AccessToken】

借助程序编写,我们得以获取微信平台所提供的access_token以及openid两项关键信息。

该链接链接至微信的API接口,主要用途是获取用户授权后的访问凭证,凭证中涵盖了应用标识(appid)、安全密钥(secret)、授权码(code)以及授权方式(authorization_code)等核心信息。

{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE",

微信登录第三方APP实现方法_Android微信登录SDK集成_微信开放平台怎么注册

"unionid":"o6_bmasdasdsad6_2sgVt7hMZOPfL" }

用户返回的openid充当其独有身份的标志,必须在本地进行妥善保管,这样才能确保对用户的登录状态进行准确的验证。

【用户信息获取】

若要查询用户的昵称信息或头像资料,务必采用access_token,并通过调用对应的接口接口来执行这一过程。

在使用微信的API接口进行调用时,必须指定一个特定的请求链接。这个链接中嵌入了一个至关重要的访问令牌,即TOKEN,以及用户的独有标识,即OPENID。其标准格式如下:https://api.weixin.qq.com/sns/userinfo。在这个链接中,access_token之后直接跟随着TOKEN,紧随其后的是OPENID。

所返回的数据中包含了用户昵称、头像链接等关键信息,这些信息可直接应用于APP的用户资料展示功能模块。

{
"openid":"OPENID",
"nickname":"NICKNAME",
"sex":1,
"province":"PROVINCE",
"city":"CITY",
"country":"COUNTRY",
"headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
"privilege":[
"PRIVILEGE1",
"PRIVILEGE2"
],
"unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
}

【常见问题解决】

1. <b>无法调起微信</b>核实签名与开放平台登记资料是否相符,同时还需确认微信应用已妥善安装完毕。

2. <b>回调无响应</b>核实WXEntryActivity的定义是否准确无误,同时确保在AndroidManifest.xml文件中,data scheme`已被正确设置为相应的APP_ID。

执行相应步骤后,微信顺利引入了快捷登录机制,这一举措不仅简化了用户的注册手续,而且增强了用户的使用感受。在此过程中,开发者必须重视接口权限的申请以及参数的核实工作,目的是保障功能的稳定运作。

版权声明:本文为 “博览广文网” 原创文章,转载请附上原文出处链接及本声明;

原文链接:http://wen.bjhwtx.com/post/34641.html

标签:

博览广文网

博览广文网为所有文学爱好者、新闻爱好者、关注生活多方面内容的观众朋友提供多方位的内容呈现、提升阅读空间、填充碎片时间,开阔读者的视野、增长见识、了解民生、一个让您不出户尽知天下事的网站平台!
热门标签
关于我们
广文舒阅网—让天下读者有家可归!这里汇聚了各类优质文化信息,无论是全球热点、历史故事,还是实用百科、趣味探索,您都能轻松获取。我们希望用阅读点亮您的世界,让每一次浏览都充满收获和乐趣。
导航栏A标题
广文舒阅网
扫码关注
联系方式
全国服务热线:0755-88186625
Q Q:8705332
Email:admin@lanyu.com
地址:深圳市福田区海雅缤纷国际大厦5层501
Copyright 深圳市蓝宇科技有限公司 版权所有 备案号:京ICP备20013102号-1