欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android實(shí)現(xiàn)使用微信登錄第三方APP的方法

 更新時(shí)間:2016年11月15日 12:02:59   作者:陳達(dá)輝  
這篇文章主要介紹了Android實(shí)現(xiàn)使用微信登錄第三方APP的方法,結(jié)合實(shí)例形式分析了Android微信登錄APP的操作步驟與具體功能實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了Android實(shí)現(xiàn)使用微信登錄第三方APP的方法。分享給大家供大家參考,具體如下:

使用微信登錄APP,免去注冊過程,現(xiàn)在已經(jīng)有很多的類似應(yīng)用了。集成該功能過程不復(fù)雜,但還是有一些地方需要注意的。

開始之前,需要做下面的準(zhǔn)備工作。

1、到微信開放平臺注冊你的APP,并申請開通微信登錄的權(quán)限。參考這里:

https://open.weixin.qq.com//

2、下載Android SDK和簽名查看工具,請參考:

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=&lang=zh_CN/

3、獲取到APP的簽名,并填寫到微信開放平臺。

下面開始進(jìn)入主題:

引入微信登錄相關(guān)SDK到項(xiàng)目的lib文件夾中,就一個(gè)文件:

libammsdk.jar

調(diào)用微信,申請用戶授權(quán):

//api注冊
api = WXAPIFactory.createWXAPI(this, "APP_ID", true);
api.registerApp("APP_ID");
SendAuth.Req req = new SendAuth.Req();
//授權(quán)讀取用戶信息
req.scope = "snsapi_userinfo";
//自定義信息
req.state = "wechat_sdk_demo_test";
//向微信發(fā)送請求
api.sendReq(req);

將APP_ID替換成你在微信開放平臺申請到的,上面的代碼就可以調(diào)起微信了。

授權(quán)成功后,微信會返回一個(gè)code,下面介紹如何接收微信回傳的信息。

在你的包名相應(yīng)目錄下新建一個(gè)wxapi目錄,并在該wxapi目錄下新增一個(gè)WXEntryActivity.java文件,輸入類似下面的代碼:

package 你的包名.wxapi;

public class WXEntryActivity extends Activity implements IWXAPIEventHandler{
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //注冊API
    api = WXAPIFactory.createWXAPI(this, "APP_ID");
    api.handleIntent(getIntent(), this);
  }
  @Override
  public void onResp(BaseResp resp) {
    if(resp instanceof SendAuth.Resp){
      SendAuth.Resp newResp = (SendAuth.Resp) resp;
      //獲取微信傳回的code
      String code = newResp.code;
    }
  }
}

在AndroidManifest.xml中加入下面的代碼:

復(fù)制代碼 代碼如下:
<activity android:exported="true" android:launchMode="singleTop" android:name=".wxapi.WXEntryActivity" android:theme="@android:style/Theme.NoDisplay" />

修復(fù)WXEntryActivity中的錯(cuò)誤,在onResp方法中獲取到code,然后通過下面的接口獲取到token和openid:

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

得到下面的數(shù)據(jù):

{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE",
"unionid":"o6_bmasdasdsad6_2sgVt7hMZOPfL"
}

openid可以作為用戶的唯一標(biāo)識,將openid保存下來,就可以實(shí)現(xiàn)登錄狀態(tài)的檢查了。

如果需要獲取用戶的信息,例如昵稱,頭像,可以使用下面的接口:

https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

得到的數(shù)據(jù)為:

{
"openid":"OPENID",
"nickname":"NICKNAME",
"sex":1,
"province":"PROVINCE",
"city":"CITY",
"country":"COUNTRY",
"headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
"privilege":[
"PRIVILEGE1",
"PRIVILEGE2"
],
"unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
}

更多的接口使用,請參考:

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317853&lang=zh_CN

可能的問題:

1、無法調(diào)起微信。

可能的原因是簽名錯(cuò)誤,請檢查簽名。

2、無法接受到微信回傳的信息

可能的原因是沒有把WXEntryActivity加入到AndroidManifest.xml中。

PS:關(guān)于AndroidManifest.xml文件相關(guān)屬性功能可參考本站在線工具:

Android Manifest功能與權(quán)限描述大全:
http://tools.jb51.net/table/AndroidManifest

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進(jìn)階教程》、《Android數(shù)據(jù)庫操作技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android編程開發(fā)之SD卡操作方法匯總》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論