国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現使用微信登錄第三方APP的方法

2019-12-12 04:38:47
字體:
來源:轉載
供稿:網友

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

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

開始之前,需要做下面的準備工作。

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

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的簽名,并填寫到微信開放平臺。

下面開始進入主題:

引入微信登錄相關SDK到項目的lib文件夾中,就一個文件:

libammsdk.jar

調用微信,申請用戶授權:

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

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

授權成功后,微信會返回一個code,下面介紹如何接收微信回傳的信息。

在你的包名相應目錄下新建一個wxapi目錄,并在該wxapi目錄下新增一個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中加入下面的代碼:

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

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

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

得到下面的數據:

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

openid可以作為用戶的唯一標識,將openid保存下來,就可以實現登錄狀態的檢查了。

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

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

得到的數據為:

{"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、無法調起微信。

可能的原因是簽名錯誤,請檢查簽名。

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

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

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

Android Manifest功能與權限描述大全:
http://tools.VeVB.COm/table/AndroidManifest

更多關于Android相關內容感興趣的讀者可查看本站專題:《Android開發入門與進階教程》、《Android數據庫操作技巧總結》、《Android編程之activity操作技巧總結》、《Android文件操作技巧匯總》、《Android編程開發之SD卡操作方法匯總》、《Android資源操作技巧匯總》、《Android視圖View技巧總結》及《Android控件用法總結

希望本文所述對大家Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肇东市| 龙南县| 武平县| 房山区| 富锦市| 宁河县| 遂宁市| 宿迁市| 会理县| 基隆市| 临安市| 门头沟区| 绥滨县| 邓州市| 高雄县| 新竹县| 同江市| 昭苏县| 吉木乃县| 北碚区| 望都县| 淄博市| 盐城市| 鄂伦春自治旗| 新竹县| 阳朔县| 汝阳县| 武邑县| 民县| 琼结县| 宝丰县| 兴化市| 于都县| 南京市| 广丰县| 卢湾区| 荔浦县| 乡城县| 龙岩市| 布尔津县| 岑巩县|