微信登录

当我们做第三方微信登录时可供参考

1.首先我们做微信登录时
下载 SDK 及 API 文档 Android Studio 环境下:
在 build.gradle 文件中,添加如下依赖即可:

//导入依赖
api 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'

1、2在我们的清单文件中添加微信登录所需的全限

<uses-permission android:name="android.permission.INTERNET" />
<!-- for mta statistics, not necessary-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

2.APP_ID最好是存放在我们的变量类是方便我们调用,做微信其他功能时也方便使用

public class Constants {//app_idpublic static final String APP_ID = "我们的APP_ID";public static IWXAPI wx_api;
}

3.初始化当然是已经拿到APP_ID的时候,初始化操作也可以放在Application里

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 通过WXAPIFactory工厂,获取IWXAPI的实例Constants.wx_api = WXAPIFactory.createWXAPI(getApplicationContext(), Constants.APP_ID, true);// 将应用的appId注册到微信Constants.wx_api.registerApp(Constants.APP_ID);
}

4.接下来到我们点击登录了,当我们登录时我们的我们的第三方app端会带着我们的APP_ID、包名、签名信息去到微信客户端,微信客户端会带着这些信息去到微信服务器校验注册时的信息,校验成功通知微信客户端唤起微信授权页。

//发送请求唤起收起授权页
public void wake() {// send oauth requestfinal SendAuth.Req req = new SendAuth.Req();req.scope = "snsapi_userinfo";req.state = "wechat_sdk_demo_test";Constants.wx_api.sendReq(req);
}

5,我们要创建微信回调类接收登录授权页登陆状态,在你的包下创建包名为:wxapi、类名为:WXEntryActivity,!包名类名必须相同,实现IWXAPIEventHandle从写onReq、onResp方法,在onResp方法中处理回调信息



5、2.创建完后在我们的清单文件application中注册我们的WXEntryActivity类,exported必须为true

<activityandroid:name=".wxapi.WXPayEntryActivity"android:exported="true"android:launchMode="singleTop"android:taskAffinity="!放app包名"android:theme="@android:style/Theme.NoDisplay" />

5、3.接下来在我们的WXEntryActivity类中接收,在onResp方法中处理用户是否授权

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);//对象传递给 IWXAPI 接口的 handleIntent 方法Constants.wx_api.handleIntent(getIntent(), this);
}
@Override
public void onResp(BaseResp resp) {switch (resp.errCode) {case BaseResp.ErrCode.ERR_OK:Log.i("WXTest", "onResp OK");if (resp instanceof SendAuth.Resp) {SendAuth.Resp newResp = (SendAuth.Resp) resp;//获取微信传回的codeString code = newResp.code;!!!到这我们就获得code值了,可以进行下面自己服务器的操作了}break;case BaseResp.ErrCode.ERR_USER_CANCEL:Log.i("WXTest", "onResp ERR_USER_CANCEL ");//发送取消break;case BaseResp.ErrCode.ERR_AUTH_DENIED:Log.i("WXTest", "onResp ERR_AUTH_DENIED");//发送被拒绝break;default:Log.i("WXTest", "onResp default errCode " + resp.errCode);//发送返回break;}finish();
}

到这里就结束了。。。

Android微信登录相关推荐

  1. Android微信登录在华为手机上无法调起授权界面的问题

    Android微信登录在华为手机上无法调起授权界面的问题 App集成了微信登录,在其他手机上微信登录都可以正常调起微信授权页面,并且登录成功,但是 在华为手机上调用微信登录,没报异常,也无法调起微信授 ...

  2. android 微信登录与分享集成

    android 微信登录与分享 android微信登录与分享这两个功能是很常用的,尤其是现在微信用户日益剧增,qq虽然很经典但是感觉大多数用来办公 每个写android的小伙伴估计都会写到这个功能,我 ...

  3. android 微信登录不回调,Anroid 进阶之旅 | 微信登录没有回调的问题

    Android微信登录,分享后没有回调 (创建wxapi包的时候,一定要和开放平台填写的路径一致) Android实现微信第三方登录的情况非常多,今天在做微信登录的时候,始终无法回调WXEntryAc ...

  4. android 微信登录返回 -6

    android 微信登录返回 -6 场景: 使用Android studio运行debug版程序,微信登录返回errocode = -6 .无法正常登录 原因: 网上查阅下:是签名与微信开放平台上注册 ...

  5. Android 微信登录

    /1.首先你得到微信.开放平台申请开发权限:https://open.weixin.qq.com/ 申请通过效果如下即可 2.其次,阅读开发文档: https://open.weixin.qq.com ...

  6. android微信登录的app签名 和 项目正式签名替换默认签名

    之前微信登录的时候需要应用的签名,然后就直接用android studio自带的工具Build–>Generate Signed APK 获取了签名,给微信弄上就以为ok了,运行一下还是调不起微 ...

  7. Android 微信登录详细流程

    流程讲解: 第一步:先去微信平台注册账号,填写应用信息,提交审核,大概需要三到五天的时间审核完成: 第二步:审核完成微信开放平台会生成一个appid,和sercet 这两个是唯一的id 需要妥善保管: ...

  8. Xamarin.Android 微信登录回调没有反应问题的解决办法

    Xamarin.Android 项目接入微信登录授权的SDK. 可以在NuGet下搜Xamarin.Android.WeChatOpenSDK包,目前最新的是5.4.0 引入包很方便.而且是微信官方出 ...

  9. android 微信绑定闪屏,Android微信登录后黑屏闪屏问题

    本文链接:http://blog..net/dreamsever/article/details/53118864 最近项目要加一个微信登录的功能,由于以前其他项目使用过微信登录,而且该在的东西都在, ...

  10. Android微信登录页面实现

    利用Android实现微信手机端的登录页面,对于登录的输入做了一些的条件限制诸如,非空,长度限制等: 效果图如下: xml文件代码: <?xml version="1.0" ...

最新文章

  1. 设备漏电对计算机影响,电脑机箱漏电对电脑有影响吗
  2. camtasia studio 8.2使用技巧集锦
  3. android手势滑动——左右滑动效果实现
  4. JS全选功能代码优化
  5. EF中使用SQL语句或存储过程
  6. halcon像素统计_Halcon一日一练:图像分辨率与像素
  7. 大白话vue——slot的作用与使用
  8. ftp客户端flashfxp破解教程
  9. mac电脑循环次数多少算新_在Mac上处理不同事务,这些软件必不可少,个个精品...
  10. 永恒之蓝漏洞复现(MS17010)
  11. JEOL即日起推出ECZ Luminous全新高分辨率核磁共振系统
  12. php 美颜,怀念以前无滤镜美颜的影视剧
  13. Apache虚拟主机的实现方式
  14. 计算机网络多项式的定义,多项式的定义是什么
  15. 如何删除数组中的一个元素
  16. Android8.0 USB系统框架
  17. 基于大数据的银行反欺诈的分析报告 【转载,可用于风控系统架设借鉴】
  18. Oracle 11g 数据类型
  19. 产品经理的基本功 - 收藏集 - 掘金
  20. 基于图数据库、图算法、图神经网络的 ID Resolution/ID Mapping 大数据分析方法与代码示例

热门文章

  1. bios 微星click_微星发表全新搭载图形化『Click BIOS』主机板 采用最新UEFI架构 迎接全图形化BIOS调教新时代...
  2. kettle 提交数据量_kettle大数据量读写mysql性能优化
  3. eq值 推荐算法_EQ,IQ,EIQ分析
  4. GIMP为证件照更换背景颜色
  5. java错误找不到符号怎么办_java错误找不到符号
  6. JSZip,saveAs压缩保存文件
  7. 嵌入式课程 之 陀螺仪传感器实验
  8. 图像传感器设计资料-764-GSPRINT4502 2MP-4.5微米 全局快门 高速 CMOS 图像传感器
  9. 自媒体运营技巧之抖音快手怎么上热门
  10. mbr引导的启动盘制作方法