首先呢,说到第三方,大家应该首先想到的是:
1.appid (第三方给的)
2.密钥 (第三方给的)
3.签名文件
4.包名
这4样,往往决定着的是第三方好用不好用!!! 所以呢…

1.申请你的AppID
请到 微信开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将该应用提交审核,只有审核通过的应用才能进行开发。

2.下载SDK及API文档
Android Studio环境下:

在build.gradle文件中,添加如下依赖即可:

dependencies {compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
}

dependencies {compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
}

3.搭建开发环境
Android Studio环境下:

在Android Studio中新建你的工程,并保证网络设置可以成功从jcenter下载微信SDK即可。

4.在代码中使用开发工具包
[1] AndroidManifest.xml 设置

添加必要的权限支持:

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"/>

[2] 注册到微信

要使你的程序启动后微信终端能响应你的程序,必须在代码中向微信终端注册你的id。(如下图所示,可以在程序入口Activity的onCreate回调函数处,或其他合适的地方将你的应用id注册到微信。注册函数示例如下图所示。

// APP_ID 替换为你的应用从官方网站申请到的合法appID
private static final String APP_ID = "wx88888888";// IWXAPI 是第三方app和微信通信的openApi接口
private IWXAPI api;private regToWx() {// 通过WXAPIFactory工厂,获取IWXAPI的实例api = WXAPIFactory.createWXAPI(this, APP_ID, true);// 将应用的appId注册到微信api.registerApp(APP_ID);
}

[3] 发送请求或响应到微信(详细可到微信开放平台了解)
一般我们第三方登录只对code做处理,所以我们可以

  //获取codeSendAuth.Req req = new SendAuth.Req();req.scope = "snsapi_userinfo";req.state = "wechat_sdk_demo_test";api.sendReq(req);

说明:用这段代码向微信开放平台请求授权码code,可拉起微信并打开授权登录页(前提是你安装了微信应用并已登录,未登录的会引导你先登录),如下图:

[4] 接收微信的请求及返回值

如果你的程序需要接收微信发送的请求,或者接收发送到微信请求的响应结果,需要下面3步操作:

a. 在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity(例如应用程序的包名为net.sourceforge.simcpux,则新添加的类如下图所示)


并在manifest文件里面加上exported属性,设置为true,例如:

<activityandroid:name=".wxapi.WXEntryActivity"android:exported="true"android:launchMode="singleTask"><intent-filter><action android:name="com.tencent.mm.plugin.openapi.Intent.ACTION_REFRESH_WXAPP" /></intent-filter></activity>

b. 实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法

c. 在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法,示例如下:

api.handleIntent(getIntent(), this);

当微信发送请求到你的应用,将通过IWXAPIEventHandler接口的onReq方法进行回调,类似的,应用请求微信的响应结果将通过onResp回调。示例如下:

public class WXEntryActivity extends AppCompatActivity implements IWXAPIEventHandler{@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);Log.d(TAG, "onCreate: ");WeChatUtil.api.handleIntent(getIntent(),this);}private static final String TAG = "WXEntryActivity";@Overridepublic void onReq(BaseReq baseReq) {//微信发送的请求回调}@Overridepublic void onResp(BaseResp baseResp) {//微信响应的回调//我们只对code做处理// 这个code与errorCode不一样,有很大的区别,一定要注意int errorCode = baseResp.errCode;switch (errorCode) {case BaseResp.ErrCode.ERR_OK://用户同意//这才是真正需要的codeString code = ((SendAuth.Resp) baseResp).code;//这个是eventbus把code传出去,再做处理EventBus.getDefault().post(new CodeEvent(code));break;case BaseResp.ErrCode.ERR_AUTH_DENIED://用户拒绝break;case BaseResp.ErrCode.ERR_USER_CANCEL://用户取消break;default:break;}Log.d(TAG, "onResp: "+baseResp.errStr);
//这个页面一般会显示空白页,直接跳回第三方登录页即可Intent intent = new Intent(this, LoginActivity.class);startActivity(intent);finish();}
}

Android第三方app 微信授权登录相关推荐

  1. android友盟微信授权登录清除,【转载】Android友盟SDK微信授权登录接入

    微信授权登录接入需要先到微信开放平台申请好应用的APPID,交纳300大洋费用得到授权登录权限后才能使用,此处不再赘述. 接入的两种方式 -- 微信SDK接入:使用微信官方SDK接入,需要分" ...

  2. uniapp app微信授权登录

    先在微信开放平台申请移动应用,然后拿到appid和appsecret秘钥 进入管理中心,选择移动应用,创建移动应用,按步骤来就行了,可能唯一会让你卡住的就是应用签名了 现在要生成应用签名就得用自有证书 ...

  3. android友盟微信授权登录清除,Android 微信,友盟授权;

    //授权 private void authorization(SHARE_MEDIA share_media) { final UMShareConfig config = new UMShareC ...

  4. Android:微信授权登录与微信分享全解析

    前言 在移动互联网浪潮中,联网APP已经把单机拍死在沙滩上,很多公司都希望自家应用能够有一套帐号系统,可是许多用户却并不一定买账:我凭啥注册你家应用的帐号?微博,微信,QQ几乎成了每个人手机中的必装应 ...

  5. uni-app授权第三方登录(微信授权登录)

    APP微信授权登录需要到微信开放平台申请,在HBuilderX配置APP SDK中微信登录的appId,另外需要跟小程序.公众号授权账号互通的话也需要在微信开放平台申请,这是需要付费的呦(300元) ...

  6. IOS实现微信授权登录

    IOS实现微信授权登录 微信是一个在开发中经常会使用到的平台,比如微信登录.授权.支付.分享.今天我们来看看如何在自己的应用里面集成微信授权. 1.微信授权的定义 微信OAuth2.0授权登录让微信用 ...

  7. 微信鉴权服务器地址,微信开发之微信授权登录

    本篇教程探讨了微信开发之微信授权登录,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < 应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作, ...

  8. 微信授权登录报错40029

    最近傻屌app微信授权登录报错40029,查看了很长时间,最后发现,是后端代码配置的appid和app那边配置的appid不一样导致的,如果出现这种报错,一方面查看code是否被使用,还有就是这种配置 ...

  9. wap2app(五)-- 微信授权登录以及踩过的坑

    应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作,调起微信授权登录,用户授权后拿到用户信息. 一.登录插件配置 先配置微信登录参数 appid和appsecret,在m ...

最新文章

  1. ThinkPHP框架搭建网站
  2. oracle创建表时创建序列号,oracle表中怎么建序列
  3. Maven系列二setting.xml 配置详解
  4. Hibernate 多对多关联查询条件使用
  5. 再破记录!2019天猫双11八小时总成交1504.9亿,开场后8分1秒发货量破1亿
  6. 设置DIV块元素在浏览器页面中垂直居中
  7. 双主动桥隔离双向DC-DC变换器(七)设计建议及未来趋势、总结
  8. 【IDEA】IDEA 格式化 代码技巧 idea 格式化 会加 <p> 标签
  9. Java核心编程总结(九、File文件类),王道训练营Java百度云盘
  10. 单片机c语言轻松入门 完整版,单片机C语言轻松入门
  11. win11电脑快捷键
  12. ITSS服务管理体系建立流程(四个阶段)附:广东软件行业协会ITSS评估
  13. 最强大脑记忆曲线(3)——设计页面
  14. 【程序员面试金典】有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。注意这次的网格中有些障碍点是不能走的。
  15. 2001-2019年中国境内企业并购数据
  16. Bootstrap V5 图标字体的引入以及使用方法
  17. Python中jieba库的使用
  18. html崩溃手机代码15,这12行代码分分钟让你电脑崩溃手机重启
  19. IDEA启动连接不上数据库,但navicat却可以问题
  20. Oracle项目管理系统之合同索赔反索赔

热门文章

  1. 读书笔记-FLASK-留言板
  2. 网吧如何修改dns服务器地址,网吧如何修改dns服务器地址
  3. 你想要知道的Python日期格式化知识都在这
  4. Android Build类
  5. 医美主流新双美模式,开启医美行业新未来
  6. micros swarm framework相关
  7. 图形 / 短信 :验证码
  8. gta5 android版数据包,gta5手机版数据包和apk
  9. 台式计算机怎样连接电视机,完美:如何将计算机屏幕连接到电视?如何将台式计算机连接到电视...
  10. 用linux写跑马灯程序,Linux下LED跑马灯驱动