微信第三方登錄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;
}