Android第三方app 微信授权登录
首先呢,说到第三方,大家应该首先想到的是:
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 微信授权登录相关推荐
- android友盟微信授权登录清除,【转载】Android友盟SDK微信授权登录接入
微信授权登录接入需要先到微信开放平台申请好应用的APPID,交纳300大洋费用得到授权登录权限后才能使用,此处不再赘述. 接入的两种方式 -- 微信SDK接入:使用微信官方SDK接入,需要分" ...
- uniapp app微信授权登录
先在微信开放平台申请移动应用,然后拿到appid和appsecret秘钥 进入管理中心,选择移动应用,创建移动应用,按步骤来就行了,可能唯一会让你卡住的就是应用签名了 现在要生成应用签名就得用自有证书 ...
- android友盟微信授权登录清除,Android 微信,友盟授权;
//授权 private void authorization(SHARE_MEDIA share_media) { final UMShareConfig config = new UMShareC ...
- Android:微信授权登录与微信分享全解析
前言 在移动互联网浪潮中,联网APP已经把单机拍死在沙滩上,很多公司都希望自家应用能够有一套帐号系统,可是许多用户却并不一定买账:我凭啥注册你家应用的帐号?微博,微信,QQ几乎成了每个人手机中的必装应 ...
- uni-app授权第三方登录(微信授权登录)
APP微信授权登录需要到微信开放平台申请,在HBuilderX配置APP SDK中微信登录的appId,另外需要跟小程序.公众号授权账号互通的话也需要在微信开放平台申请,这是需要付费的呦(300元) ...
- IOS实现微信授权登录
IOS实现微信授权登录 微信是一个在开发中经常会使用到的平台,比如微信登录.授权.支付.分享.今天我们来看看如何在自己的应用里面集成微信授权. 1.微信授权的定义 微信OAuth2.0授权登录让微信用 ...
- 微信鉴权服务器地址,微信开发之微信授权登录
本篇教程探讨了微信开发之微信授权登录,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < 应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作, ...
- 微信授权登录报错40029
最近傻屌app微信授权登录报错40029,查看了很长时间,最后发现,是后端代码配置的appid和app那边配置的appid不一样导致的,如果出现这种报错,一方面查看code是否被使用,还有就是这种配置 ...
- wap2app(五)-- 微信授权登录以及踩过的坑
应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作,调起微信授权登录,用户授权后拿到用户信息. 一.登录插件配置 先配置微信登录参数 appid和appsecret,在m ...
最新文章
- ThinkPHP框架搭建网站
- oracle创建表时创建序列号,oracle表中怎么建序列
- Maven系列二setting.xml 配置详解
- Hibernate 多对多关联查询条件使用
- 再破记录!2019天猫双11八小时总成交1504.9亿,开场后8分1秒发货量破1亿
- 设置DIV块元素在浏览器页面中垂直居中
- 双主动桥隔离双向DC-DC变换器(七)设计建议及未来趋势、总结
- 【IDEA】IDEA 格式化 代码技巧 idea 格式化 会加 <p> 标签
- Java核心编程总结(九、File文件类),王道训练营Java百度云盘
- 单片机c语言轻松入门 完整版,单片机C语言轻松入门
- win11电脑快捷键
- ITSS服务管理体系建立流程(四个阶段)附:广东软件行业协会ITSS评估
- 最强大脑记忆曲线(3)——设计页面
- 【程序员面试金典】有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。注意这次的网格中有些障碍点是不能走的。
- 2001-2019年中国境内企业并购数据
- Bootstrap V5 图标字体的引入以及使用方法
- Python中jieba库的使用
- html崩溃手机代码15,这12行代码分分钟让你电脑崩溃手机重启
- IDEA启动连接不上数据库,但navicat却可以问题
- Oracle项目管理系统之合同索赔反索赔