Android源碼下載:QQ第三方登入demo

來源:互聯網
上載者:User

Android源碼下載:QQ第三方登入demo

功能分類:其他

支援平台:Android

運行環境:Eclipse

開發語言:Java

開發工具:Eclipse

源碼大小:1.31MB

源碼:http://down.51cto.com/data/1976923

源碼簡介

最近使用第三方登入,QQ登入官方給的demo中類太多了,這裡上傳一個小demo,只有2個類,可以授權QQ進行第三方登入。

源碼運行

授權登入介面

授權成功傳回值

首頁面

源碼片段

  1. Handler mHandler = new Handler() { 
  2.   
  3.         @Override 
  4.         public void handleMessage(Message msg) { 
  5.             if (msg.what == 0) { 
  6.                 JSONObject response = (JSONObject) msg.obj; 
  7.                 if (response.has("nickname")) { 
  8.                     try { 
  9.                         mUserInfo.setVisibility(android.view.View.VISIBLE); 
  10.                         mUserInfo.setText(response.getString("nickname")); 
  11.                     } catch (JSONException e) { 
  12.                         // TODO Auto-generated catch block 
  13.                         e.printStackTrace(); 
  14.                     } 
  15.                 } 
  16.             } else if (msg.what == 1) { 
  17.                 Bitmap bitmap = (Bitmap) msg.obj; 
  18.                 mUserLogo.setImageBitmap(bitmap); 
  19.                 mUserLogo.setVisibility(android.view.View.VISIBLE); 
  20.             } 
  21.         } 
  22.   
  23.     }; 
  24.   
  25.     private void onClickLogin() { 
  26.         if (!mQQAuth.isSessionValid()) { 
  27.             IUiListener listener = new BaseUiListener() { 
  28.                 @Override 
  29.                 protected void doComplete(JSONObject values) { 
  30.                     updateUserInfo(); 
  31.                     updateLoginButton(); 
  32.                 } 
  33.             }; 
  34.             mQQAuth.login(this, "all", listener); 
  35.             // mTencent.loginWithOEM(this, "all", 
  36.             // listener,"10000144","10000144","xxxx"); 
  37.             mTencent.login(this, "all", listener); 
  38.         } else { 
  39.             mQQAuth.logout(this); 
  40.             updateUserInfo(); 
  41.             updateLoginButton(); 
  42.         } 
  43.     } 
  44.   
  45.     public static boolean ready(Context context) { 
  46.         if (mQQAuth == null) { 
  47.             return false; 
  48.         } 
  49.         boolean ready = mQQAuth.isSessionValid() 
  50.                 && mQQAuth.getQQToken().getOpenId() != null; 
  51.         if (!ready) 
  52.             Toast.makeText(context, "login and get openId first, please!", 
  53.                     Toast.LENGTH_SHORT).show(); 
  54.         return ready; 
  55.     } 
  56.   
  57.     private class BaseUiListener implements IUiListener { 
  58.   
  59.         @Override 
  60.         public void onComplete(Object response) { 
  61.             Util.showResultDialog(MainActivity.this, response.toString(), 
  62.                     "登入成功"); 
  63.             doComplete((JSONObject) response); 
  64.         } 
  65.   
  66.         protected void doComplete(JSONObject values) { 
  67.   
  68.         } 
  69.   
  70.         @Override 
  71.         public void onError(UiError e) { 
  72.             Util.toastMessage(MainActivity.this, "onError: " + e.errorDetail); 
  73.             Util.dismissDialog(); 
  74.         } 
  75.   
  76.         @Override 
  77.         public void onCancel() { 
  78.             Util.toastMessage(MainActivity.this, "onCancel: "); 
  79.             Util.dismissDialog(); 
  80.         } 
  81.     } 

源碼:http://down.51cto.com/data/1976923

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.