Android源碼下載:QQ第三方登錄demo
作者:佚名
最近使用第三方登錄,QQ登錄官方給的demo中類太多了,這里上傳一個(gè)小demo,只有2個(gè)類,可以授權(quán)QQ進(jìn)行第三方登錄。
功能分類:其他
支持平臺(tái):Android
運(yùn)行環(huán)境:Eclipse
開發(fā)語言:Java
開發(fā)工具:Eclipse
源碼大?。?.31MB
源碼下載地址:http://down.51cto.com/data/1976923
源碼簡介
最近使用第三方登錄,QQ登錄官方給的demo中類太多了,這里上傳一個(gè)小demo,只有2個(gè)類,可以授權(quán)QQ進(jìn)行第三方登錄。
源碼運(yùn)行截圖
授權(quán)登錄界面
授權(quán)成功返回值
主頁面
源碼片段
- Handler mHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- if (msg.what == 0) {
- JSONObject response = (JSONObject) msg.obj;
- if (response.has("nickname")) {
- try {
- mUserInfo.setVisibility(android.view.View.VISIBLE);
- mUserInfo.setText(response.getString("nickname"));
- } catch (JSONException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- } else if (msg.what == 1) {
- Bitmap bitmap = (Bitmap) msg.obj;
- mUserLogo.setImageBitmap(bitmap);
- mUserLogo.setVisibility(android.view.View.VISIBLE);
- }
- }
- };
- private void onClickLogin() {
- if (!mQQAuth.isSessionValid()) {
- IUiListener listener = new BaseUiListener() {
- @Override
- protected void doComplete(JSONObject values) {
- updateUserInfo();
- updateLoginButton();
- }
- };
- mQQAuth.login(this, "all", listener);
- // mTencent.loginWithOEM(this, "all",
- // listener,"10000144","10000144","xxxx");
- mTencent.login(this, "all", listener);
- } else {
- mQQAuth.logout(this);
- updateUserInfo();
- updateLoginButton();
- }
- }
- public static boolean ready(Context context) {
- if (mQQAuth == null) {
- return false;
- }
- boolean ready = mQQAuth.isSessionValid()
- && mQQAuth.getQQToken().getOpenId() != null;
- if (!ready)
- Toast.makeText(context, "login and get openId first, please!",
- Toast.LENGTH_SHORT).show();
- return ready;
- }
- private class BaseUiListener implements IUiListener {
- @Override
- public void onComplete(Object response) {
- Util.showResultDialog(MainActivity.this, response.toString(),
- "登錄成功");
- doComplete((JSONObject) response);
- }
- protected void doComplete(JSONObject values) {
- }
- @Override
- public void onError(UiError e) {
- Util.toastMessage(MainActivity.this, "onError: " + e.errorDetail);
- Util.dismissDialog();
- }
- @Override
- public void onCancel() {
- Util.toastMessage(MainActivity.this, "onCancel: ");
- Util.dismissDialog();
- }
- }
責(zé)任編輯:閆佳明
來源:
網(wǎng)絡(luò)整理