当前位置: 首页 > 编程笔记 >

Android实现使用微信登录第三方APP的方法

吴星汉
2023-03-14
本文向大家介绍Android实现使用微信登录第三方APP的方法,包括了Android实现使用微信登录第三方APP的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Android实现使用微信登录第三方APP的方法。分享给大家供大家参考,具体如下:

使用微信登录APP,免去注册过程,现在已经有很多的类似应用了。集成该功能过程不复杂,但还是有一些地方需要注意的。

开始之前,需要做下面的准备工作。

1、到微信开放平台注册你的APP,并申请开通微信登录的权限。参考这里:

https://open.weixin.qq.com//

2、下载Android SDK和签名查看工具,请参考:

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=&lang=zh_CN/

3、获取到APP的签名,并填写到微信开放平台。

下面开始进入主题:

引入微信登录相关SDK到项目的lib文件夹中,就一个文件:

libammsdk.jar

调用微信,申请用户授权:

//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);

将APP_ID替换成你在微信开放平台申请到的,上面的代码就可以调起微信了。

授权成功后,微信会返回一个code,下面介绍如何接收微信回传的信息。

在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity.java文件,输入类似下面的代码:

package 你的包名.wxapi;

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;
    }
  }
}

在AndroidManifest.xml中加入下面的代码:

<activity android:exported="true" android:launchMode="singleTop" android:name=".wxapi.WXEntryActivity" android:theme="@android:style/Theme.NoDisplay" />

修复WXEntryActivity中的错误,在onResp方法中获取到code,然后通过下面的接口获取到token和openid:

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

得到下面的数据:

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

openid可以作为用户的唯一标识,将openid保存下来,就可以实现登录状态的检查了。

如果需要获取用户的信息,例如昵称,头像,可以使用下面的接口:

https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

得到的数据为:

{
"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"
}

更多的接口使用,请参考:

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317853&lang=zh_CN

可能的问题:

1、无法调起微信。

可能的原因是签名错误,请检查签名。

2、无法接受到微信回传的信息

可能的原因是没有把WXEntryActivity加入到AndroidManifest.xml中。

PS:关于AndroidManifest.xml文件相关属性功能可参考本站在线工具:

Android Manifest功能与权限描述大全:
http://tools.jb51.net/table/AndroidManifest

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android数据库操作技巧总结》、《Android编程之activity操作技巧总结》、《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android资源操作技巧汇总》、《Android视图View技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

 类似资料:
  • 第一步,商城启用微信前台登陆,需要在Niushop商城后台设置->基础设置->第三方登陆,进入到微信配置界面。 我们可以看见需要配置APPID和APPSECRET,如何获取这两个参数? 第二步,登录微信开放平台,找到管理中心->网站应用->创建网站应用, 按照流程,填写基本信息->填写网站信息->提交成功,等待审核即可。 注意:填写回调域名只需填写网站域名即可。 第三步,在网站应用 查看申请应用的

  • 本文向大家介绍友盟 微信第三方登录示例,包括了友盟 微信第三方登录示例的使用技巧和注意事项,需要的朋友参考一下 首先获取应用签名看下图 将签名配置到微信开发者平台 集成看官方文档即可 官方集成文档 http://dev.umeng.com/social/android/android-update?spm=0.0.0.0.qOAeOa#5 值得注意必须在调用授权接口mShareAPI.doOaut

  • 本文向大家介绍Android使用友盟集成QQ、微信、微博等第三方分享与登录方法详解,包括了Android使用友盟集成QQ、微信、微博等第三方分享与登录方法详解的使用技巧和注意事项,需要的朋友参考一下 最近项目需要加入第三方分享和登录功能,之前其他项目的第三方分享和登录一直都使用ShareSDK实现的。为了统一使用友盟的全家桶,所以三方分享和登录也就选择了友盟。这里记录一下完整的集成与使用流程。 1

  • 本文向大家介绍微信第三方登录(原生)demo【必看篇】,包括了微信第三方登录(原生)demo【必看篇】的使用技巧和注意事项,需要的朋友参考一下 在一家ecstore二开公司有一段时间了,公司希望往自己研发产品上面走,一直在培养新人。 最近要自己去微信登录,自己就在ectore的框架基础上,写的原生微信第三方登录以此来熟悉微信第三方登录,在ecstore上面去写。 一个简单的demo,不是很好,分享

  • 本文向大家介绍微信网页 第三方登录原理详解,包括了微信网页 第三方登录原理详解的使用技巧和注意事项,需要的朋友参考一下 微信开放平台和公众平台的区别 1.公众平台面向的时普通的用户,比如自媒体和媒体,企业官方微信公众账号运营人员使用,当然你所在的团队或者公司有实力去开发一些内容,也可以调用公众平台里面的接口,比如自定义菜单,自动回复,查询功能。目前大多数微信通过认证之后,都在做这个事情。 2.开放

  • 读取用户登陆信息 调用地址 https://secure.bilibili.tv/login 参数 字段 必选 类型 说明 api true string 申请时填入的API地址 appkey true string 申请时系统提供的Key sign true string 校验密钥 md5(“api=“) 回调 编码为UTF-8 返回值字段 字段类型 字段说明 mid int 会员编号 unam