首先微信授权登录和支付分为客户端(通过微信官方平台)集成和原生集成
原生集成:需要跟后台进行对接
客户端集成:是自己到微信官方平台去操作即可 跟咱们友盟分享登录一样

以下是授权登录和支付

1:导入依赖:

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

2:keystore文件放到app目录下
3:在app的build.gradle 中Android 代码块加入keystore文件配置

signingConfigs { //在android代码块下写debug {//这个地方可以写成 releasestoreFile file('movie.keystore')keyAlias "bw_movie"storePassword "123456"keyPassword "123456"}
}

4:在项目包下新建文件夹名字必须是以下名字 。 必须是你项目的包名下边

wxapi下新建 WXEntryActivity 以下是代码:

这个是用来做分享和登录的 。 配置这个Activity 需要加这个属性:android:exported=“true”

public class WXEntryActivity extends AppCompatActivity implements IWXAPIEventHandler, IView {private IWXAPI iwxapi;private String unionid;private String openid;private static String APP_ID = "wxb3852e6a6b7d9516";private IPresenterImpl presenter;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);
//        getSupportActionBar().hide();presenter = new IPresenterImpl(this);
//        // 隐藏状态栏getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//接收到分享以及登录的intent传递handleIntent方法,处理结果iwxapi = WXAPIFactory.createWXAPI(this, APP_ID, false);iwxapi.handleIntent(getIntent(), this);}@Overridepublic void onReq(BaseReq baseReq) {Log.e("onReq", "不是请求错误");//我们一般用不到 }
//成功的回调@Overridepublic void onResp(BaseResp baseResp) {//登录回调switch (baseResp.errCode) {case BaseResp.ErrCode.ERR_OK://代表成功String code = ((SendAuth.Resp) baseResp).code;Map<String, String> map = new HashMap();map.put("code", code);presenter.requestData(Constant.URL_WX, null, map, WXBean.class, 2);break;case BaseResp.ErrCode.ERR_AUTH_DENIED://用户拒绝授权finish();break;case BaseResp.ErrCode.ERR_USER_CANCEL://用户取消finish();break;default:finish();break;}}@Overridepublic void getSuccessData(Object data) {if (data instanceof WXBean) {WXBean bean = (WXBean) data;if (bean != null && bean.getStatus().equals("0000")) {Log.e("WXBean", bean.toString());}}}@Overridepublic void getErrorData(String error) {ToastUtils.show(this, error);}
}

这个就是回调去调用微信授权的代码 所以在他之前要进入这个页面的要发起请求
请求代码如下:

if (WXUtils.success(this)) {//请求第三方登录SendAuth.Req req = new SendAuth.Req();req.scope = "snsapi_userinfo";req.state = "wx_login_duzun";WXUtils.reg(this).sendReq(req);
}

这个地方我封装了一个工具类WXUtils 里面有一些判断

public class WXUtils {/*** APP_ID 替换为你的应用从官方网站申请到的合法appID*/public static String APP_ID = "wxb3852e6a6b7d9516";public static IWXAPI reg(Context context) {if (context != null) {//AppConst.WEIXIN.APP_ID是指你应用在微信开放平台上的AppID,记得替换。IWXAPI wxapi = WXAPIFactory.createWXAPI(context, APP_ID, true);//注册到微信wxapi.registerApp(APP_ID);return wxapi;} else {return null;}}//判断是否安装过微信public static boolean success(Context context) {if (WXUtils.reg(context).isWXAppInstalled()) {return true;} else {return false;}}
}

Android Studio 微信登录相关推荐

  1. android studio 微信登录界面,如何使用Android Studio开发用户登录界面

    满意答案 zhou9081 2016.05.21 采纳率:51%    等级:7 已帮助:411人 如何使用Android Studio开发用户登录界面,具体解决方案如下: 解决方案1: <:t ...

  2. Android studio 微信登录时碰到的坑

    微信登录一直返回-6的错误码.加了下面的第一部分代码,以为替换了默认的debug.keystore.原来还差了下面红色的代码.坑爹啊 要淡定淡定淡定---------- signingConfigs ...

  3. Android集成微信登录

    Android集成微信登录是比较常见的了,此次我把自己集成的过程总结出来,供大家学习参考. 1.首先需要你去微信开放平台申请对应的APPID,地址https://open.weixin.qq.com/ ...

  4. Android studio 微信APP之Fragment中使用ReclerView

    Android studio 微信APP之Fragment中使用ReclerView 如题,本次实验的内容就是在已经创建好的微信程序的首页处,在fragment控件中增加ReclerView控件,实现 ...

  5. Android studio自动登录和记住密码的实现

    Android studio自动登录和记住密码的实现 文章目录 Android studio自动登录和记住密码的实现 前言 一.效果 二.设计思路 三.知识点介绍 1. SharedPreferenc ...

  6. android app微信登录(android端+Java后台)

    本文demo下载:http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId=885 本文章讲解如何在微信平台上传andro ...

  7. android 解决微信登录白屏样式问题

    我们在做微信登录或者支付的时候,会用到SDK自带的两个页面 WXEntryActivity.WXPayEntryActivity 但是总会因为这两个页面的样式问题,出现白屏啊抖动啊的问题 解决其实很简 ...

  8. Android Studio 微信分享功能(包括可以分享到朋友圈,分享到朋友)

    第一步:配置sdk 在build.gradle文件中,添加如下依赖即可: 在Android Studio中新建你的工程,并保证网络设置可以成功从jcenter下载微信SDK即可. dependenci ...

  9. android studio微信界面设计,android studio开发微信界面

    android studio开发微信界面 android studio开发微信界面 功能说明:主要是做微信的简单的聊天界面,利用Fragment,进行微信界面的跳转 项目代码: 源代码地址 MainA ...

最新文章

  1. 继爆款超级账本后,IBM再次推出新产品
  2. 安装kubernetes1.12.1的 dashboard v1.10 + Heapster
  3. Java_io体系之RandomAccessFile简介、走进源码及示例——20
  4. iOS - Swift NSSize 尺寸
  5. 自己的缺省(sheng)源
  6. pyecharts运行了但是没有图_新版pyecharts,Python可视化so easy and powerful !
  7. docker registry push 覆盖_原创 | 全网最实在的docker入门教程四
  8. 自动清除html无用css,TinyMCE粘贴HTML代码,避免style属性被自动清除_html/css_WEB-ITnose...
  9. 电脑摄像头一维条形码matlab识别
  10. Bootstrap-按钮
  11. SQL WITH AS
  12. [bzoj3668][Noi2014]起床困难综合症/[洛谷3613]睡觉困难综合症
  13. STM32 ADC 过采样技术
  14. 组学生信| Front Immunol |基于血清蛋白质组早期诊断标志筛选的简单套路
  15. 刷脸支付星星之火可以燎原
  16. OraDump导出套件
  17. Audacity之清浊音频谱分析
  18. VMware Workstation报错:cpu-0:VERIFY vmcore/vmm/main/cpuid.c:386 bugNr=1036521
  19. html原生js实现图片轮播,原生JS实现图片轮播切换效果
  20. 微信小程序地图(二) 跑步路线展示

热门文章

  1. pygame: libpng warning: iCCP: known incorrect sRGB profile 报错
  2. 【钉钉】通过钉钉机器人抓取群消息
  3. 学习《python模拟测试机器人》笔记2
  4. golang中channel的传递
  5. python获取字典第一个元素,从字典中获取第一个元素
  6. AI走向“战争技术”,是减少损伤还是推向灾难
  7. word文档里四级目录无法显示
  8. 网站建设好但是访问不了的原因及解决方法
  9. 三个月通过信息系统项目管理师经验帖(2021年11月,新鲜出炉,高项详解)
  10. 系统架构设计师教程学习笔记