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

首頁 > 系統 > Android > 正文

Android第三方登錄之騰訊QQ登錄的實例代碼

2019-12-12 02:36:28
字體:
來源:轉載
供稿:網友

布局文件

<TextView  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="登錄成功"  android:textSize="25sp"  android:layout_marginTop="100dp"  />

清單文件中的配置

<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="tencent1106163416" /> <!-- 開放平臺獲取的APPID -->  </intent-filter></activity>

代碼

public class MainActivity extends AppCompatActivity {  private static final String TAG = "MainActivity";  private static final String APP_ID = "1106163416";//官方獲取的APPID  private Tencent mTencent;  private BaseUiListener mIUiListener;  private UserInfo mUserInfo;  private Button button;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    //傳入參數APPID和全局Context上下文    mTencent = Tencent.createInstance(APP_ID,MainActivity.this.getApplicationContext());  }  public void buttonLogin(View v){    /**通過這句代碼,SDK實現了QQ的登錄,這個方法有三個參數,第一個參數是context上下文,第二個參數SCOPO 是一個String類型的字符串,表示一些權限     官方文檔中的說明:應用需要獲得哪些API的權限,由“,”分隔。例如:SCOPE = “get_user_info,add_t”;所有權限用“all”     第三個參數,是一個事件監聽器,IUiListener接口的實例,這里用的是該接口的實現類 */    mIUiListener = new BaseUiListener();    //all表示獲取所有權限    mTencent.login(MainActivity.this,"all", mIUiListener);  }  /**   * 自定義監聽器實現IUiListener接口后,需要實現的3個方法   * onComplete完成 onError錯誤 onCancel取消   */  private class BaseUiListener implements IUiListener {      @Override      public void onComplete(Object response) {      Toast.makeText(MainActivity.this, "授權成功", Toast.LENGTH_SHORT).show();      Log.e(TAG, "response:" + response);      JSONObject obj = (JSONObject) response;      try {        String openID = obj.getString("openid");        String accessToken = obj.getString("access_token");        String expires = obj.getString("expires_in");        mTencent.setOpenId(openID);        mTencent.setAccessToken(accessToken,expires);        QQToken qqToken = mTencent.getQQToken();        mUserInfo = new UserInfo(getApplicationContext(),qqToken);        mUserInfo.getUserInfo(new IUiListener() {          @Override          public void onComplete(Object response) {            Intent inten = new Intent(MainActivity.this,NextActivity.class);            startActivity(inten);            Log.e(TAG,"登錄成功"+response.toString());          }          @Override          public void onError(UiError uiError) {            Log.e(TAG,"登錄失敗"+uiError.toString());          }          @Override          public void onCancel() {            Log.e(TAG,"登錄取消");          }        });      } catch (JSONException e) {        e.printStackTrace();      }    }      @Override      public void onError(UiError uiError) {      Toast.makeText(MainActivity.this, "授權失敗", Toast.LENGTH_SHORT).show();    }      @Override      public void onCancel() {      Toast.makeText(MainActivity.this, "授權取消", Toast.LENGTH_SHORT).show();    }  }  /**   * 在調用Login的Activity或者Fragment中重寫onActivityResult方法   * @param requestCode   * @param resultCode   * @param data   */  @Override  protected void onActivityResult(int requestCode, int resultCode, Intent data) {    if(requestCode == Constants.REQUEST_LOGIN){      Tencent.onActivityResultData(requestCode,resultCode,data,mIUiListener);    }    super.onActivityResult(requestCode, resultCode, data);  }}

要添加的權限

<uses-permission android:name="android.permission.INTERNET"></uses-permission><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

以上所述是小編給大家介紹的Android第三方登錄之騰訊QQ登錄的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洪江市| 靖州| 陵川县| 威信县| 定州市| 东方市| 东海县| 宝山区| 聂拉木县| 若尔盖县| 大化| 平顶山市| 博兴县| 齐齐哈尔市| 金山区| 鄂温| 宁明县| 康乐县| 定陶县| 揭东县| 响水县| 翁源县| 鹤山市| 阿尔山市| 凉城县| 焦作市| 施甸县| 长春市| 双牌县| 油尖旺区| 珲春市| 师宗县| 和田市| 开阳县| 清流县| 钦州市| 忻城县| 沂水县| 南溪县| 乐亭县| 齐齐哈尔市|