Android 實現qq第三方登入並獲取qq基本資訊
阿新 • • 發佈:2019-01-04
###②配置AndroidMainfest.xml
<!-- 新增許可權 --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 新增幾個activity,照樣複製即可 --> <activity android:name="com.tencent.connect.common.AssistActivity" android:configChanges="orientation|keyboardHidden" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <activity android:name=".ReturnActivity"> </activity> <activity android:name="com.tencent.tauth.AuthActivity" android:launchMode="singleTask" android:noHistory="true" > <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tencent222222" /> <!-- 預設測試id --> </intent-filter> </activity>
###③java程式碼
//所需兩個物件 private Tencent mTencent; // qq主操作物件 private IUiListener iuilisten;//qq事件物件 // 初始化qq主操作物件 騰訊提供測試id 222222 mTencent = Tencent.createInstance("222222", getApplicationContext()); //執行登入操作,使用的時候需要建一個點選監聽事件,點選後執行下段程式碼即可 iuilisten = new IUiListener() { @Override public void onCancel() { } public void onComplete(Object response) { if (null == response) { System.out.println("返回為空登入失敗"); return; } JSONObject jsonResponse = (JSONObject) response; if (null != jsonResponse && jsonResponse.length() == 0) { System.out.println("返回為空登入失敗"); return; } System.out.println("登入成功:=" + response); } @Override public void onError(UiError arg0) { } }; // 開始qq授權登入 // 要所有許可權 mTencent.login(MainActivity.this, "all", iuilisten); //獲取登入後的qq資訊 UserInfo userInfo = new UserInfo(MainActivity.this, mTencent.getQQToken()); IUiListener userInfoListener = new IUiListener() { @Override public void onError(UiError arg0) { // TODO 自動生成的方法存根 } @Override public void onComplete(final Object arg0) { // TODO 自動生成的方法存根 //獲取的資訊如下: /*{"ret":0,"msg":"", "is_lost":0, "nickname":"(舊)正義狂哥", "gender":"男", "province":"山東", "city":"濰坊", "figureurl":"http:\/\/qzapp.qlogo.cn\/qzapp\/222222\/1B3AB0DB9926950AB08F98472FF60D2F\/30", "figureurl_1":"http:\/\/qzapp.qlogo.cn\/qzapp\/222222\/1B3AB0DB9926950AB08F98472FF60D2F\/50", "figureurl_2":"http:\/\/qzapp.qlogo.cn\/qzapp\/222222\/1B3AB0DB9926950AB08F98472FF60D2F\/100", "figureurl_qq_1":"http:\/\/q.qlogo.cn\/qqapp\/222222\/1B3AB0DB9926950AB08F98472FF60D2F\/40", "figureurl_qq_2":"http:\/\/q.qlogo.cn\/qqapp\/222222\/1B3AB0DB9926950AB08F98472FF60D2F\/100", "is_yellow_vip":"0", "vip":"0", "yellow_vip_level":"0", "level":"0","is_yellow_year_vip":"0"} */ //獲取資訊的格式可以轉化為json格式,然後再獲取 //頭像地址一般使用figureurl_qq_2即可 //如何獲取網路圖片地址請參考另一個部落格 //http://blog.csdn.net/zhengyikuangge/article/details/53150170 } } @Override public void onCancel() { // TODO 自動生成的方法存根 } }; userInfo.getUserInfo(userInfoListener); }