android 第三方登录 --- QQ
生活随笔
收集整理的這篇文章主要介紹了
android 第三方登录 --- QQ
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1,jar包
2,配置AndroidManifest.xml
1 <activity android:name=".login.LoginActivity" 2 android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"> 3 <intent-filter> 4 <action android:name="android.intent.action.MAIN"/> 5 <category android:name="android.intent.category.LAUNCHER"/> 6 </intent-filter> 7 </activity> 8 <activity 9 android:name="com.tencent.tauth.AuthActivity" 10 android:launchMode="singleTask" 11 android:noHistory="true" > 12 <intent-filter> 13 <action android:name="android.intent.action.VIEW" /> 14 <category android:name="android.intent.category.DEFAULT" /> 15 <category android:name="android.intent.category.BROWSABLE" /> 16 <data android:scheme="tencent222222" /> 17 <!-- 將222222換成自己的appid --> 18 </intent-filter> 19 </activity> 20 21 <activity 22 android:name="com.tencent.connect.common.AssistActivity" 23 android:configChanges="orientation|keyboardHidden" 24 android:screenOrientation="behind" 25 android:theme="@android:style/Theme.Translucent.NoTitleBar" />3,LoginActivity調用
1 //222222換成自己的appid 2 Tencent mTencent = Tencent.createInstance("222222", this.getApplicationContext()); 3 //all獲取全部 4 mTencent.login(this, "all", new IUiListener() { 5 @Override 6 public void onComplete(Object o) { 7 Log.i("返回",o.toString()); 8 } 9 @Override 10 public void onError(UiError uiError) { 11 } 12 @Override 13 public void onCancel() { 14 } 15 }); 16 //注銷 17 //mTencent.logout(this);4,回調
1 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 2 if (requestCode == Constants.REQUEST_LOGIN){ 3 if(resultCode == Constants.ACTIVITY_OK){ 4 Log.i("onActivityResult",data.getStringExtra("key_action")); 5 //如果少了這句,監聽器的沒效果。onComplete不會執行 6 Tencent.handleResultData(data,loginListener); 7 } 8 } 9 super.onActivityResult(requestCode, resultCode, data); 10 }5,以上是授權獲取openid。下邊就是獲取授權用戶的基本信息了。授權成功后將onComplete(Object o)返回的數據設置到mTencent里
1 try { 2 String token = object.getString(Constants.PARAM_ACCESS_TOKEN); 3 String expires = object.getString(Constants.PARAM_EXPIRES_IN); 4 String openId = object.getString(Constants.PARAM_OPEN_ID); 5 //設置token 6 mTencent.setAccessToken(token, expires); 7 //設置openid 8 mTencent.setOpenId(openId); 9 } catch (JSONException e) { 10 e.printStackTrace(); 11 }6,拿到當前授權QQ號的昵稱,頭像之類的基本信息
1 UserInfo userInfo = new UserInfo(this,mTencent.getQQToken()); 2 //和上邊授權的一樣 3 userInfo.getUserInfo(new IUiListener(){...});?
轉載于:https://www.cnblogs.com/Jieth/p/5160373.html
總結
以上是生活随笔為你收集整理的android 第三方登录 --- QQ的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dirname(__FILE__) 介绍
- 下一篇: 【GDAL】聊聊GDAL的数据模型(二)