栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android第三方登录之腾讯QQ登录的实例代码

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android第三方登录之腾讯QQ登录的实例代码

布局文件

清单文件中的配置


  
    
    
    
     
  

代码

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){
    
    mIUiListener = new baseUiListener();
    //all表示获取所有权限
    mTencent.login(MainActivity.this,"all", mIUiListener);
  }
  
  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();
    }
  }
  
  @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);
  }
}

要添加的权限


以上所述是小编给大家介绍的Android第三方登录之腾讯QQ登录的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对考高分网网站的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/158354.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号