亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Android集成微信登錄

瀏覽:108日期:2022-09-29 10:38:11

問題描述

最近有個項目要集成微信第三方登錄,而且要求用原生的SDK,客戶端是Unity3D開發,所以需要用Android Studio來做個plugin給U3D,網上找了些資料,自己琢磨了一下,有幾個問題1.拉起微信授權后,用戶點擊了登錄,回到MainActivity,但是code卻沒有獲取到,于是我在MainActivity里設置了個lock,還有在onResume方法里判斷code是否已經返回了值,雖然能用,但是總覺得好別扭啊2.這個工程要打成arr文件給u3d用,請問怎么把code傳給U3D,后續的獲取access_token這些工作都是服務器端完成。下面是我寫的代碼,安卓下可以用,一切正常,能獲取code,請教一下如何優化我的代碼能在用戶在微信授權里點完登錄回到MainActivity后得到code,而且能打包成arr,u3D可以獲取到,非常感謝,下面是我的代碼

MainActivity

package com.mazingtec.hxddz;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.Toast;import com.mazingtec.hxddz.wxapi.WXEntryActivity;import com.tencent.mm.opensdk.modelmsg.SendAuth;import com.tencent.mm.opensdk.openapi.IWXAPI;import com.tencent.mm.opensdk.openapi.WXAPIFactory;import com.unity3d.player.UnityPlayerActivity;public class MainActivity extends UnityPlayerActivity implements View.OnClickListener { boolean lock = true; Button btnWeChat; public String code; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btnWeChat = (Button) findViewById(R.id.btnWeChat);btnWeChat.setOnClickListener(this); } @Override protected void onResume() {super.onResume();if(WXEntryActivity.isOK && lock){ lock = false; code = WXEntryActivity.CODE;} } private void GetCode() {IWXAPI iwxapi = WXAPIFactory.createWXAPI(this, WXEntryActivity.APP_ID, true);iwxapi.registerApp(WXEntryActivity.APP_ID);if (iwxapi != null && iwxapi.isWXAppInstalled()) { SendAuth.Req req = new SendAuth.Req(); req.scope = 'snsapi_userinfo'; req.state = 'We_did_it'; iwxapi.sendReq(req);} else Toast.makeText(this, '用戶未安裝微信', Toast.LENGTH_SHORT).show(); } @Override public void onClick(View v) {if(v == btnWeChat){ GetCode();} }}

WXEntryActivity

package com.mazingtec.hxddz.wxapi;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import com.tencent.mm.opensdk.modelbase.BaseReq;import com.tencent.mm.opensdk.modelbase.BaseResp;import com.tencent.mm.opensdk.modelmsg.SendAuth;import com.tencent.mm.opensdk.openapi.IWXAPI;import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;import com.tencent.mm.opensdk.openapi.WXAPIFactory;/** * Created by wei on 2017/6/21. */public class WXEntryActivity extends Activity implements IWXAPIEventHandler { public static final String APP_ID = 'wxopq239o809uqewfojoasidfj'; private IWXAPI iwxapi; public static String CODE; public static boolean isOK = false; @Override public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);iwxapi = WXAPIFactory.createWXAPI(this, APP_ID, true);iwxapi.handleIntent(this.getIntent(), this); } @Override protected void onNewIntent(Intent intent) {super.onNewIntent(intent);setIntent(intent);iwxapi.handleIntent(intent, this); } @Override public void onReq(BaseReq baseReq) { } @Override public void onResp(BaseResp baseResp) {switch (baseResp.errCode){ case BaseResp.ErrCode.ERR_OK://發送成功SendAuth.Resp sendResp = (SendAuth.Resp) baseResp;if (sendResp != null) { CODE = sendResp.code; isOK = true;}WXEntryActivity.this.finish();break; case BaseResp.ErrCode.ERR_USER_CANCEL:isOK = false;WXEntryActivity.this.finish();//發送取消break; case BaseResp.ErrCode.ERR_AUTH_DENIED:isOK = false;WXEntryActivity.this.finish();//發送被拒絕break; default:isOK = false;WXEntryActivity.this.finish();//發送返回break;} }}

問題解答

回答1:

問題是從WXEntryActivity 拿到的Code如何回傳給MainActivity, 如果圖方便的話通過Intent攜帶這個code, 返回給MainActivity就可以了, 在MainActivity中getIntent再取出這個code. 其次就是可以通過EventBus來解決, 不過有點得不償失.

看著應該是Unity3D和android的通信問題吧? 網上解決方案蠻多的

回答2:

瀉藥。沒集成過微信登錄,也沒用過U3D,不敢妄下評論。但是我有個疑問,微信SDK回傳的code不應該是通過onActivityResult之類的回傳的么?

標簽: 微信
相關文章:
主站蜘蛛池模板: 国内国内在线精品视频 | 欧美亚洲h在线一区二区 | 亚洲欧美偷拍视频 | 久久精品免视看国产明星 | 欧美视频在线播放观看免费福利资源 | 亚洲视频一二区 | 善良的翁熄日本中文字幕1 上海麻豆文化传媒网站入口 | 美国一级毛片完整高清 | 最新香蕉97超级碰碰碰碰碰久 | 国产二区三区毛片 | 国产精品福利一区二区 | 欧美一区二区三区性 | 久久免费精品国产视频 | 国产专区一区 | 欧美高清一区二区三区欧美 | 亚洲一区 中文字幕 | 日本特黄在线观看免费 | 国产精品免费观看 | 九九爱www高清免费人成 | 久青草国产手机在线观 | 1000日本xxxxxxxxx25 | 成人黄色免费在线观看 | 国产超级乱淫视频播放 | 丝袜诱惑一区二区 | 国产老湿机福利视频在线观看 | 大陆老太xxxxxxxxhd | 欧美爱爱小视频 | 黄色毛片在线看 | 免费一级毛片在级播放 | 这里是九九伊人 | 黄色仓库在线观看 | 国产在线精品福利91香蕉 | 女人被男人狂躁下面在线观看 | 欧美激情一区二区三区蜜桃视频 | 999久久久免费精品国产牛牛 | 中文国产成人精品久久久 | 国产免费私拍一区二区三区 | 国产精品男人的天堂 | 免费视频二区 | 在线观看国产一区二区三区99 | 欧美日韩永久久一区二区三区 |