最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 實(shí)現(xiàn)微信登錄詳解

 更新時(shí)間:2016年07月21日 09:55:04   投稿:lqh  
本文主要介紹Android 微信登錄分享朋友圈,這里給大家詳細(xì)介紹了Android微信登錄的詳細(xì)流程,有需要的小伙伴可以參考下

前言

 分享到微信朋友圈的功能早已經(jīng)有了,但微信登錄推出并不久,文檔寫(xiě)的也并不是很清楚,這里記錄分享一下。

 正文

 一、準(zhǔn)備

  注冊(cè)、認(rèn)證步驟自己來(lái)。微信開(kāi)放平臺(tái):https://open.weixin.qq.com

 二、 代碼

  2.1 喚起微信登錄

   參考官網(wǎng)文檔:資源中心/移動(dòng)應(yīng)用開(kāi)放/接入指南/Android接入指南

private IWXAPI mWeixinAPI;

  private void loginWithWeixin() {
    if (mWeixinAPI == null) {
      mWeixinAPI = WXAPIFactory.createWXAPI(this, WEIXIN_APP_ID, false);
    }

    if (!mWeixinAPI.isWXAppInstalled()) {
      //提醒用戶(hù)沒(méi)有按照微信
      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提示沒(méi)權(quán)限。

WEIXIN_STATE :用于保持請(qǐng)求和回調(diào)的狀態(tài),授權(quán)請(qǐng)求后原樣帶回給第三方。該參數(shù)可用于防止csrf攻擊(跨站請(qǐng)求偽造攻擊),建議第三方帶上該參數(shù),可設(shè)置為簡(jiǎn)單的隨機(jī)數(shù)加session進(jìn)行校驗(yàn)。

不出意外就能喚起微信登錄了。

  2.2 接收微信的請(qǐng)求及返回值

在你的包名相應(yīng)目錄下新建一個(gè)wxapi目錄,并在該wxapi目錄下新增一個(gè)WXEntryActivity類(lèi),參考文檔在AndroidManifest.xml注冊(cè)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) {
      //用戶(hù)同意
    }
  }
}

注意:這里和微信的例子寫(xiě)的有點(diǎn)不一樣,不過(guò)結(jié)果是一樣的,這個(gè)能取到code等信息,測(cè)試返回?cái)?shù)據(jù)如下:

 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@426358e8
    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 570490883
    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     部分的內(nèi)容我已經(jīng)隱掉了,拿到code就能拿到access——token了,后續(xù)依據(jù)文檔調(diào)用即可。

   這里你可以把WXEntryActivity的theme弄成透明的,然后再?gòu)椘饋?lái)一個(gè)ProgressDialog進(jìn)行后續(xù)的操作(提交你自己的服務(wù)器),就能和現(xiàn)有的界面完全融合了。

 三、注意:

  3.1 獲取簽名必須用release包。(所以你會(huì)發(fā)現(xiàn)微信、微博SDK取得值是一樣,所以如果已經(jīng)有了微博的簽名可以直接拷貝到微信使用)

以上對(duì)Android 微信登錄分享朋友圈的功能,有需要的朋友可以看下。

相關(guān)文章

最新評(píng)論

博乐市| 永仁县| 汉阴县| 涟源市| 南投市| 临高县| 丹棱县| 资溪县| 城步| 沁源县| 敖汉旗| 平乡县| 新巴尔虎左旗| 富民县| 运城市| 武宣县| 修水县| 盐城市| 桑植县| 广东省| 广汉市| 平利县| 新邵县| 安义县| 阿鲁科尔沁旗| 滨海县| 玉田县| 蓬安县| 辽中县| 疏勒县| 蓬莱市| 石楼县| 德阳市| 邮箱| 鄢陵县| 娄烦县| 荣昌县| 密云县| 龙口市| 定日县| 安庆市|