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

Android Studio实现第三方QQ登录操作代码

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

Android Studio实现第三方QQ登录操作代码

来看看效果图吧

   

 
                                               

http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD 下载SDKJar包 接下来就可以

实现QQ登录了,

新建一个项目工程 ,然后把我们刚才下载的SDK解压将jar文件夹中的jar包拷贝到我们的项目libs中

  导入一个下面架包就可以

项目结构如下

打开我们的清单文件Androidmanifest 在里面加入权限和注册Activity 如下



 
 
 
 
  
   
    
    
   
  
  
  
   
    
    
    
     
   
  
  
 

布局文件activity_main 就一个Button按钮



 

下面就是我们的MainActivity中的代码了

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Toast;
import com.tencent.connect.UserInfo;
import com.tencent.connect.auth.QQToken;
import com.tencent.connect.common.Constants;
import com.tencent.tauth.IUiListener;
import com.tencent.tauth.Tencent;
import com.tencent.tauth.UiError;
import org.json.JSONException;
import org.json.JSONObject;
public class MainActivity extends AppCompatActivity {
 private static final String TAG = "MainActivity";
 private static final String APP_ID = "1105602574";//官方获取的APPID
 private Tencent mTencent;
 private baseUiListener mIUiListener;
 private UserInfo mUserInfo;
 @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) {
      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 Studio实现第三方QQ登录操作代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对考高分网网站的支持!

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

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

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