支付宝禁止登陆怎么办游戏出现wxentryactivity怎么办

From:/thread--1.html
最近因为项目需要做了微信登陆,好像也是微信最近才放出来的接口。还需要申请才能有权限实现授权。其实也比较简单,跟新浪微博和qq授权登陆差不多。不过还是有点差别,不知道是微信sdk本身就没有完善还是其他问题。会有一点蛋疼的地方,下面会细说。(由于等级不够,不能发在经验分享区,只能先写在这里了。希望对要做微信登陆的朋友有帮助,如果有不对的地方还希望大家直言不讳)&ignore_js_op&&首先就是sdk了,不过要注意的是sdk要是最新的,老版本的sdk可能会没有一些相关类(在官网上申请项目得到AppID和AppSecret就不多说了)附件已经上传,吧zip改成jar然后我们来看看官网上是怎么说的。&ignore_js_op&&1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;3. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。跟其他授权不一样的是他这里多了一步得到临时code的过程。应该也是为了安全考虑吧。先做准备工作,不管是登陆授权还是分享到微信或者朋友圈,我们都需要在项目里建一个 WXEntryActivity类,这个文档里面有说。demo里面也有这个类,在里面我们去实现IWXAPIEventHandler接口,然后会有几个方法,// 微信发送请求到第三方应用时,会回调到该方法onReq(BaseReq req)&// 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法onResp(BaseResp resp)&还有onNewIntent(Intent intent)&下面我们来看看具体代码。官网是这么说的&ignore_js_op&&我们看Android这部分,我这里是写啊MyApplication里面的,这个大家可以用自己的方法去写。首先我们要先定义要用的IWXAPI ,注册好public static IWXAPI WXWXapi = WXAPIFactory.createWXAPI(this, weixin_App_ID, true);&(weixin_App_ID就是申请项目得到的AppID)WXapi.registerApp(weixin_App_ID);好,我们在来看授权代码。SendAuth.Req req = new SendAuth.Req();req.scope = "snsapi_userinfo";req.state = "wechat_sdk_demo";MyApplication.WXapi.sendReq(req);然后界面会跳到类似下面的界面&ignore_js_op&&同意授权会,会返回到&WXEntryActivity这个类,调用onResp(BaseResp resp) 方法,我们断点看看BaseResp返回的是什么数据&ignore_js_op&&官方说明如下&ignore_js_op&&蛋疼的地方来了。。。这里我们看到我们已经拿到code了,正常情况下我们都会去resp.code得到String类型的code,不过这里就是点不出来。点不出来,得到不code,我们无法进行下一步。后来我查了下他的父类才发现。我们可以吧resp强行转成SendAuth.Resp类型。(在这里,我也迷茫了很久)SendAuth.Resp sendResp = (SendAuth.Resp)这样我们可以就可以通过sendResp来点出code。sendResp.code& & OK,得到code接下来就简单多了。哈哈。。。得到code后,我们再来看看官网怎么说的,&ignore_js_op&&下面就简单了。我们只需要把得到code和申请号的id和secret拼接在一起去请求下面接口就行了,https://api./sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code返回结果如下。&ignore_js_op&&ok,拿到这些数据,我们就可以去申请注册账号了。微信开放平台链接https://open./cgi-bin/frame?t=resource/res_main_tmpl&verify=1&lang=zh_CN&token=865d9ba02afbe23ac1e08cb5c324dea
阅读(...) 评论()在线时间0 小时
积分 38, 距离下一级还需 12 积分
积分 38, 距离下一级还需 12 积分
你们好!我在天天炫斗登陆授权时出现WXEntry Activity提示,就重复到登陆!我试个重装过游戏,第一次启动可以,不过一重新登陆就不行了!我也试重装微信也一样!刷机也不行!求大家有没有办法解决
Copyright (C) 2014 MIUI 京ICP备号评论-3469&
trackbacks-6
前言 分享到微信朋友圈的功能早已经有了,但微信登录推出并不久,文档写的也并不是很清楚,这里记录分享一下。&&声明 欢迎转载,但请保留文章原始出处:)&
农民伯伯: &&正文 一、准备
注册、认证步骤自己来。微信开放平台:https://open.& 二、&代码
2.1 唤起微信登录
参考官网文档:资源中心/移动应用开放/接入指南/Android接入指南&& &&private&IWXAPI&mWeixinAPI;&&&&private&void&loginWithWeixin()&{&&&&&&&&if&(mWeixinAPI&==&null)&{&&&&&&&&&&&&mWeixinAPI&=&WXAPIFactory.createWXAPI(this,&WEIXIN_APP_ID,&false);&&&&&&&&}&&&&&&&&if&(!mWeixinAPI.isWXAppInstalled())&{& & & & & & //提醒用户没有按照微信&&&&&&&&&&&&return;&&&&&&&&}&&&&&&&&mWeixinAPI.registerApp(WEIXIN_APP_ID);&&&&&&&&SendAuth.Req&req&=&new&SendAuth.Req();&&&&&&&&req.scope&=&WEIXIN_SCOPE;&&&&&&&&req.state&=&WEIXIN_STATE;&&&&&&&&mWeixinAPI.sendReq(req);&&&&}
WEXIN_SCOPE 这里填的snsapi_userinfo,用snsapi_base提示没权限。
WEIXIN_STATE 用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验。
不出意外就能唤起微信登录了。&&
2.2 接收微信的请求及返回值
在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,参考文档在AndroidManifest.xml注册Activity。public&class&WXEntryActivity&extends&Activity&{&&&&@Override&&&&protected&void&onCreate(Bundle&savedInstanceState)&{&&&&&&&&super.onCreate(savedInstanceState);&&&&&&&&handleIntent(getIntent());&&&&}&&&&@Override&&&&protected&void&onNewIntent(Intent&intent)&{&&&&&&&&super.onNewIntent(intent);&&&&&&&&handleIntent(intent);&&&&}&&&&private&void&handleIntent(Intent&intent)&{&&&&&&&&SendAuth.Resp&resp&=&new&SendAuth.Resp(intent.getExtras());&&&&&&&&if&(resp.errCode&==&BaseResp.ErrCode.ERR_OK)&{&&&&&&&&&&&&//用户同意&&&&&&&&}&&&&}}
注意,这里和微信的例子写的有点不一样,不过结果是一样的,这个能取到code等信息,测试返回数据如下:& & & & E/WXEntryActivity(14288):&onCreate...key:_wxapi_sendauth_resp_state&xxx&&&&&&&&E/WXEntryActivity(14288):&onCreate...key:_wxapi_sendauth_resp_token&xxxxxxxxxxxxxxxxxxxxxxxxxxxxx&&&&&&&&E/WXEntryActivity(14288):&onCreate...key:_mmessage_appPackage&com.tencent.mm&&&&&&&&E/WXEntryActivity(14288):&onCreate...key:_wxapi_baseresp_transaction&null&&&&&&&&E/WXEntryActivity(14288):&onCreate...key:_wxapi_sendauth_resp_lang&zh_CN&&&&&&&&E/WXEntryActivity(14288):&onCreate...key:_wxapi_command_type&1&&&&&&&&E/WXEntryActivity(14288):&onCreate...key:_mmessage_content&null&&&&&&&&E/WXEntryActivity(14288):&onCreate...key:_wxapi_sendauth_resp_country&null&&&&&&&&E/WXEntryActivity(14288):&onCreate...key:_mmessage_checksum&[B@&&&&&&&&E/WXEntryActivity(14288):&onCreate...key:wx_token_key&com.tencent.mm.openapi.token&&&&&&&&E/WXEntryActivity(14288):&onCreate...key:_wxapi_sendauth_resp_url xxxxxxxxxxx&&&&&&&&E/WXEntryActivity(14288):&onCreate...key:_mmessage_sdkVersion&&&&&&&&&E/WXEntryActivity(14288):&onCreate...key:_wxapi_baseresp_errcode&0&&&&&&&&E/WXEntryActivity(14288):&onCreate...key:_wxapi_baseresp_errstr&null&&&&&&&&E/WXEntryActivity(14288):&onCreate...key:_wxapi_baseresp_openId&null
xxx部分的内容我已经隐掉了,拿到code就能拿到access——token了,后续依据文档调用即可。
这里你可以把WXEntryActivity的theme弄成透明的,然后再弹起来一个ProgressDialog进行后续的操作(提交你自己的服务器),就能和现有的界面完全融合了。&& 三、注意:
3.1 获取签名必须用release包。(所以你会发现微信、微博SDK取得值是一样,所以如果已经有了微博的签名可以直接拷贝到微信使用)&结束 纠结到底是微信登录还是QQ登录,,,,&
阅读(...) 评论()

我要回帖

更多关于 qq无法登陆怎么办 的文章

 

随机推荐