android之微信最新版的sdk接入微信授权登陆和数据回调

最新Android安卓项目实现微信扫码登录 刚做好简单的微信扫码登录功能分享 阅读详情

微信授权登陆和数据回调

本人用的是最新版的sdk,开发工具是Eclipse(因为现在很多人都是用的AndroidStudio,所以Eclipse的例子会越来越少。其实两者用法大同小异。)。

  • 首先申请appID,AppSeort等(这个很简单,开发者应该都知道)

  • 接入sdk,先去注册微信

private IWXAPI api;
/**
 *在onCreate()方法里
 */
api = WXAPIFactory.createWXAPI(this, WXConstants.APP_ID,true);
//注册微信
api.registerApp(WXConstants.APP_ID); 
  • 发送微信授权登陆请求
    踩坑经验:
    ————-请注意你的开发者资格认证是否通过,若不通过则会出现一下情况:

    开发者资格认证没有通过

       //发起登录请求
        SendAuth.Req req = new SendAuth.Req();
        // 外部应用请求的权限范围
        req.scope = "snsapi_userinfo";
        //外部应用本身用来标识其请求的唯一性,验证完成后,将由微信终端回传,
        req.state = "wechat_sdk_demo_test";
        api.sendReq(req);
  • 进行回调
    在WXEntryActivity的onResp(BaseResp arg0)方法中进行回调,会得到一个code.通过这个code调用一个接口获取到access_token和OpenID的值,之后再通过access_token以及openID调用获取用户信息的接口-来获取用户的数据
// 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法
    @Override
    public void onResp(BaseResp resp) {
        Log.i("TAG-02", "微信分享的第二个回调");
        int result = 0;
        switch (resp.errCode) {
        case BaseResp.ErrCode.ERR_OK://成功
            /**
             *  微信登陆
             */
            if (resp instanceof SendAuth.Resp) {
                // 获取code
                 String code = ((SendAuth.Resp) resp).code;
                 // 通过code获取授权口令access_token
                 requestOpenId(code);

            }
            break;
        case BaseResp.ErrCode.ERR_USER_CANCEL:
            result = R.string.errcode_cancel;//发送取消

            break;
        case BaseResp.ErrCode.ERR_AUTH_DENIED:
            result = R.string.errcode_deny; //发送返回

            break;
        default:
            result = R.string.errcode_unknown;
            break;
        }
        finish();
    }
    /**
     *  开辟子线程
     * @param token
     */
    private void requestOpenId(final String code) {
        // 开启线程来发起网络请求
        new Thread(new Runnable() {
            @Override
            public void run() {
                    String urlstr = "https://api.weixin.qq.com/sns/oauth2/access_token?appid="+WXConstants.APP_ID
                            +"&secret="+WXConstants.App_Scere
                            + "&code="+code
                            +"&grant_type=authorization_code" ;
                    //获取 网上 数据
                    String httpUrl = WXConstants.httpUrl(urlstr);

                    // Json
                    JSONObject jsObj;
                    try {

                        jsObj = new JSONObject(httpUrl);
    //获取到   openid
    String opendId = jsObj.getString("openid").toString().trim();
    //获取到  access_token
    String access_token  =  jsObj.getString("access_token").toString().trim();
                        /**
                         *  用openid和access_token获取  用户信息
                         */
                        getUserInfo(opendId,access_token);

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
            }
        }).start();
        /**
     *  用于  获取  用户  信息
     * @param opendId
     * @param access_token
     */
    private void getUserInfo(String opendId, String access_token) {

        String path = "https://api.weixin.qq.com/sns/userinfo?access_token="
                            + access_token
                            + "&openid="
                            + opendId;

        //用户信息
        String httpUrl = WXConstants.httpUrl(path);
    }
  • 上边这样就可以授权登陆和获取用户信息了,快试试吧,童鞋们!!!

福利送给你们:
——————WXConstantts.httpUrl();

public class WXConstants {
    // APP_ID 替换为你的应用从官方网站申请到的合法appId
    public static String APP_ID = "";  
    // APP_ID 替换为你的应用从官方网站申请到的合法appScope
    public static String App_Scere =  "";

    public static String httpUrl(String path){

        String jsonStr = null ;
        HttpURLConnection connection = null;
        try {   
            // 获得URL对象
            URL url = new URL(path);
            // 获得HttpURLConnection对象
            connection = (HttpURLConnection) url.openConnection();
            // 默认为GET请求
            connection.setRequestMethod("GET");
            // 设置 链接 超时时间
            connection.setConnectTimeout(5000);
            // 设置 读取 超时时间
            connection.setReadTimeout(8000);
            // 设置是否从HttpURLConnection读入,默认为true
            connection.setDoInput(true);
            connection.setDoOutput(true);

            // 请求相应码是否为200(OK)
            if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
                // 下面对获取到的输入流进行读取
                InputStream in   = connection.getInputStream();
                BufferedReader reader   = new BufferedReader(new InputStreamReader(in));
                StringBuilder response  = new StringBuilder();
                String line;
                while ((line = reader.readLine()) != null) {
                    response.append(line);
                }
                jsonStr = response.toString();
            } 

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭连接
            if (connection != null) {
                connection.disconnect();
            }
        }

        return jsonStr;

    }
}
SAR合成孔径雷达成像及处理(附带Matlab源代码) 总结:本文介绍了SAR合成孔径雷达的基本原理,并提供了使用Matlab实现SAR成像和处理的源代码示例。然后,在慢时间域进行方位压缩处理,通过计算每个接收通道的延迟和频移,将多次接收的信号叠加得到最终的成像结果。SAR成像的基本原理是通过接收雷达发射的脉冲信号的回波,并利用多次接收的信号进行叠加处理。以多普勒频移校正为例,根据雷达飞行速度和方位角,计算实际的多普勒频率,并对每个接收通道的数据进行频移校正,以消除因目标运动引起的频率偏移。通过调整参数和算法,可以实现不同的SAR成像和处理效果。 阅读详情

相关推荐

知识图谱中的 Ontology(本体论)

本文的部分图片和内容来自中国科学院自动化研究所刘康老师的课件 Ontology(本体论) Ontology 是(特定领域)信息组织的一种形式,是领域知识规范的抽象和描述,是表达、共享、重用知识的方法。 Ontology 是知识体系构建的关键技术,知识图谱是一种人工智能技术,它的关键在于让计算机能够处理人类的知识。然而,人类脑海中的知识通常是直觉性的,我们无法将这种直觉性的知识直接输入给计算机,On...

P01son的博客 2万+

android客户端集成微信登录

LoginActivity回调得到用户数据。WXEntryActivity回调。4.请求token并请求用户数据。

chengzhenjia的博客 416

数据分析实战:如何用皮尔逊相关系数避免伪相关陷阱(附Python代码)

本文通过实战案例与Python代码,深入解析了皮尔逊相关系数在数据分析中的应用与常见陷阱。文章重点揭示了如何识别与避免由混杂变量导致的伪相关,并介绍了通过可视化、敏感性分析、分层分析与偏相关分析等方法来检验相关性的可靠性,帮助分析师建立严谨的相关性思维。

weixin_29051245的博客 411

Android安卓原生实现微信登陆

在配置文件内加入微信sdk api 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+' 调起微信授权页面 IWXAPI api;String appid =“填写appid”;api = WXAPIFactory.createWXAPI(activity,appid, true);// 将应用的appId注册到微信api.registerApp(appid);SendAuth.Req req=new SendAuth.Req();..

qq_37196621的博客 4528

保姆级教程:用PyTorch从零实现SDE扩散模型(附完整代码与MNIST实战)

本文提供了一份详细的PyTorch教程,指导读者从零开始实现SDE扩散模型,并附有完整的代码示例和MNIST数据集实战。通过解释随机微分方程(SDE)的核心概念、模型架构设计、训练流程实现以及采样生成过程,帮助开发者掌握扩散模型的构建与应用。

weixin_28677005的博客 265

车窗标定工作流程

标定简单来说就是修改防夹参数来适配对应的车型,所有的防夹的参数在vers_userdef.h文件中定义。#标定内容。

qq_21274991的博客 4271

Android 微信授权登录、获取Wx用户信息,解决无法回调问题

微信授权登录,官方说的不是很清楚、所以导致有一部分的坑。 据此记载..(坑) 1.微信注册应用平台的应用签名为 打包keystore的MD5 小写并且去掉 ":" 号组成、或者去下载 微信签名生成工具 输入项目的packageName也可以查看到。 2.授权没反应,监测微信App_Id是否正确、是否按照上1.生成。 当前的App是否正式签名?也就是正式App.. DeBug签名环境的App貌

挂板: 3万+

【unity知识】最新的虚拟相机Cinemachine3简单使用介绍

本文介绍了Unity中Cinemachine 3虚拟相机系统的使用方法。相比旧版本,新版功能更强大且参数分类更直观。文章详细讲解了摄像机镜头参数、旋转控制(包括None、目标跟随、样条线推拉、旋转追随等6种模式)和位置控制(跟随、样条轨道、硬锁定等5种模式)。重点演示了样条轨道摄像机的创建与配置,以及如何实现第一人称和第三人称视角。通过丰富的GIF图示,展示了各种模式的运行效果,帮助用户快速掌握Cinemachine 3的核心功能。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 866

Android 微信支付开发

在app包下新建wxapi包,在包下新建WXPayEntryActivity,继承自任意Activity实现微信支付回调接口。该Activity用以接收支付结果回调。注:统一下单接口由自己服务器的去请求下单,我们只需要请求自己服务器端定义的下单的接口,从而达到去微信服务器进行下单的操作,并拿到返回的数据。清单声明此Activity的格式为。申请APP_ID,添加依赖库。拿到下单返回数据调用支付接口。

chengzhenjia的博客 1248

ANSYS专题-利用ANSYS SIwave进行PCB板的EMS仿真

本文详细描述了使用ANSYSSIwave进行电路板电磁敏感度(EMS)仿真的完整流程。主要步骤包括:导入AD软件生成的IPC2581文件,检查PCB叠层和电路参数,为敏感网络设置50欧姆端口并指定GND为参考网络,进行验证检查后设置频段范围和入射波类型(单/多入射、极化方式等),最后启动仿真并查看选定网络的EMS感应电压曲线。该过程提供了从文件准备到结果分析的全套操作指南,适用于评估电路板在电磁干扰环境下的性能表现。

whm128的博客 3590

OBC_开环扫频波特图拟合操作流程(结合 Simulink)

摘要: 本文详细介绍了基于Simulink的开环扫频波特图测试与拟合流程,适用于电源/控制系统(如LLC/PFC)的小信号分析。主要内容包括:1)前期准备(测试点选择、信号范围设定);2)Simulink建模方法(信号注入、数据记录);3)两种扫频方式(逐频正弦/Chirp扫频)的实现;4)MATLAB数据处理(FFT分析、传递函数拟合);5)线性分析工具使用技巧。重点强调了激励信号幅值控制、稳态数据采集及模型验证方法,并提供完整MATLAB脚本示例。该流程可有效获取系统频域特性,为控制器设计提供可靠依据。

Sumerking的博客 234

android微信登录回跳界面别名

activity设置别名

logocool的专栏 309

高通camx进程ExtensionModule::TeardownOverrideSession类型crash问题分析之一:【死锁导致】

摘要:本文分析了一个在相机老化测试中出现的pthread_cond_wait持锁超时导致的ExtensionModule::TeardownOverrideSession崩溃问题。通过crash堆栈和日志分析,发现close阶段存在近1分钟的无响应期。进一步分析trace文件发现存在多线程死锁:ChiFeature2Graph::GenerateSmartErrorCode和ChiFeature2RequestObject::SetCurRequestState两个线程分别持有不同锁并互相等待对方释放。最终

1110

android安卓集成接入微信sdk登陆,wechat集成详细步骤-实用功能系列

接入微信登录wechat功能简介实现步骤java代码 完整代码ZIP:下载 更多其他页面-自定义View-实用功能合集:点击查看 相关文章信息: 微信开放文档官网: 打开官网 微信开放平台注册账号并注册应用: 打开官网 需导入的SDK: implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+' 功能简介 使得APP可以使用微信进行登录,国内市场上常见的app几乎都接入了腾讯微信第三方登录功能 实现步骤 1.

ruiruiddd的博客 6581

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

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

前言在移动互联网浪潮中,联网APP已经把单机拍死在沙滩上,很多公司都希望自家应用能够有一套帐号系统,可是许多用户却并不一定买账:我凭啥注册你家应用的帐号?微博,微信,QQ几乎成了每个人手机中的必装应用,于是微信,微博,QQ说了:来来来,你们都可以用我家的帐号登录你家应用,只要你遵循OAuth2.0协议标准就行。

MichaelX的专栏 3万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Android 实现微信扫码登陆功能-详细教程

安卓Android 集成微信扫码登录功能

yzwfeng的专栏 6343

hub无法登录 unity_Unity SDK接入QQ微信登录(Unity2018.4)

本课程属于 Unity A 计划,不单独售卖,加入 A 计划可免费观看本课程及所有 Unity 收费课程~Unity A 计划一年有效期购买链接:http://www.sikiedu.com/classroom/7/introductionUnity A 计划永久有效期购买链接:http://www.sikiedu.com/classroom/5/introduction>课程...

weixin_39841717的博客 325

Android第三方登陆之微信Wechat、WeiXin篇(原生登陆授权)

移动应用微信登录开发指南准备工作移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。 在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的移动应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。1、目前移动应用上微信登录只提供原生的登录方式,需要用户安装微信客户端才能配合使用。2、

知行合一 6053

微信开放平台开发第三方授权登陆(三):Android客户端

微信开放平台开发系列文章: 微信开放平台开发第三方授权登陆(一):开发前期准备 微信开放平台开发第三方授权登陆(二):PC网页端 微信开放平台开发第三方授权登陆(三):Android客户端 微信开放平台开发第三方授权登陆(四):微信公众号 微信开放平台开发第三方授权登陆(五):微信小程序 目录​​​​​​​ 一、需求 二、开发流程 三、开发使用的技术及工具 四、具体实现步...

晋文子上的博客 3万+

uinty java微信登录,Unity接入android版的微信sdk记要

一、微信SDK登录无法调起,微信SDK无法接收回调的几种解决办法平时在开发中,有些开发者经常会遇到微信登录SDK登录时,无法调起微信客户端,以及登录完毕后无法回调的情况这些情况,大概原因如下,请对号入座:1.包名和签名,跟微信后台登记的不一样,导致无法调起微信2.回调类WXEntryActivity 的包名和 application Id不一致,导致无法回调针对上面情况的简短解答:1、仔细...

weixin_35014204的博客 217

android 微信登陆功能,Android开发微信登录第三方APP的方法

释放双眼,带上耳机,听听看~!分享给大家供大家参考,具体如下:使用微信登录APP,免去注册过程,现在已经有很多的类似应用了。集成该功能过程不复杂,但还是有一些地方需要注意的。开始之前,需要做下面的准备工作。1、到微信开放平台注册你的APP,并申请开通微信登录的权限。2、下载Android SDK和签名查看工具,请参考:https://open.weixin.qq.com/cgi-bin/showd...

weixin_39938724的博客 325

【Unity】中实现微信、QQ、微博帐号登录(Android环境)(官方SDK)

对于一些没有过安卓开发经验的开发者来说,为了实现安卓第三方登陆肯定是费尽了脑汁,不知道从何着手解决,为了让开发者少走弯路,下面就给大家介绍下Unity中使用官方SDK实现微信、QQ、微博帐号登录的方法,一起来看看吧。 一、新建安卓工程并导入jar文件   注意写好自己的包名,微信登录和微博登录都要用到包名获取签名,把获取到的签名上传到开放平台。   填好包名后一直点next就可以了,点击fi

天生爱赞美的博客 7350

微信分享、登陆、支付

1 在回调函数里区分分享还是登陆public void onResp(BaseResp resp) { switch (resp.errCode) { case BaseResp.ErrCode.ERR_OK: if(ConstantsAPI.COMMAND_SENDMESSAGE_TO_WX==resp.getType()){//分享

无的博客 619

android微信登录官方,微信应用开发之安卓 集成微信(一)实现微信登录详解

本文将带你了解微信应用开发之安卓 集成微信(一)实现微信登录详解,希望本文对大家学微信有所帮助。集成微信(一)实现微信登录详解1.原理:第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;通过code参数加上AppID和AppSecret等,通过API换取access_token;通过access_token进行接口调用,...

weixin_30767365的博客 591

微信登陆,微信SDK授权登陆经验分享

From:http://www.eoeandroid.com/thread-547012-1-1.html 最近因为项目需要做了微信登陆,好像也是微信最近才放出来的接口。还需要申请才能有权限实现授权。其实也比较简单,跟新浪微博和qq授权登陆差不多。不过还是有点差别,不知道是微信sdk本身就没有完善还是其他问题。会有一点蛋疼的地方,下面会细说。(由于等级不够,不能发在经验分享区,只能先写在这里了。...

weixin_30721899的博客 227

安卓微信第三方登陆

在微信开放平台注册应用后拿到APPID与Appsecret 官方地址:https://open.weixin.qq.com 1、添加依赖 { api 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+' } 2、添加权限 <uses-permission android:name="android.permission.IN...

youling22 602

Android-studio原生微信第三方登录、分享

第一步:注册开发者账号,—->微信开放平台https://open.weixin.qq.com/第二步:创建一个应用,并通过审核(其中需要填写项目中的Demo的包名以及应用签名) tip1:包名为AndroidManifest.xml下的package tip2:签名可以使用签名工具进行签名,签名之前必须先进行打包操作 选择你想要打包的应用 如果有打包文件的话直接选

qq_29680071的博客 5128
上一篇: 最新版安卓微信分享sdk接入
下一篇: android开发遭遇jni问题
ZFY11
博客等级 码龄10年 18粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值