微信第三方登录android
A. Android微信第三方登录授权页面拉不出来怎么办
1 先查看下浏览器设置 2 你定的是什么套餐。流量的还是时间的。如果定制流量定制的太少,可能导致上述情况。定的是时间套餐的话,不会出现上述情况(因为最低的时间是50h) 3 假登陆,即没有真正登上服务器,虚连接。重新登录即可 4 重启网卡 5 设备问题。吊死等
B. Android微信第三方登录/支付,没有走回调
1、要正式签名的apk,使用debug包貌似无法调动微信
2、清单文件中要注册微信回调
<activity
android:name=".wxapi.WXEntryActivity"
android:exported="true"
android:label="@string/app_name"
android:launchMode="singleTop"
android:theme="@android:style/Theme.Translucent" />
3、回调的类名,一定要是官网的WXEntryActivity.java。这里很迷,我之前名字是WXPayEntryActivity,因为之前使用了微信支付,就起了这个名字,后续又加入了微信分享,也没有问题,当我又加入微信登录之后,就不走回调了,改成WXEntryActivity.java成功走了回调。
4、回调类所在包名,一定要是wxapi:
.wxapi.WXEntryActivity
C. android 微信第三方登录怎么通过code获取openid
1.登录公众账号设置OAuth2.0
2.设置菜单按钮URL为OAuth链接
3.页面后台获取:
public String getopenId() {
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html");
String code = request.getParameter("code");
String urlstr = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=<appId>&secret=<secret>&code=" + code + "&grant_type=authorization_code";
JSONObject json;
try {
json = JSONObject.fromObject(HTTPTools.postToGetJson(urlstr));
openId = json.getString("openid");
} catch (Exception e) {
// e.printStackTrace();
return "";
}
return openId;
}