android QQ 登录

原创 2015年11月19日 13:42:28




<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="111111111" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.tencent.connect.common.AssistActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />


    //下面有关QQ参数
    private static final String QQ_APPID = "111111111";
    private Tencent mTencent;
    private IUiListener loginListener;
    private IUiListener userInfoListener;
    private String scope;
    private com.tencent.connect.UserInfo userInfo;
</pre><pre name="code" class="html"> /**
     * QQ登录
     */
    private void QQLogin()
    {
        if (!mTencent.isSessionValid()) {
            mTencent.login(LoginActivity.this, scope, loginListener);
        }
    }

    private void getQQUserInfo()
    {
        if(mTencent.getQQToken() == null){
            System.out.println("qqtoken == null");
        }
        userInfo = new com.tencent.connect.UserInfo(LoginActivity.this, mTencent.getQQToken());
        userInfo.getUserInfo(userInfoListener);
    }

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == com.tencent.connect.common.Constants.REQUEST_API) {
            if (resultCode == com.tencent.connect.common.Constants.RESULT_LOGIN) {
                Tencent.handleResultData(data, loginListener);
            }
            super.onActivityResult(requestCode, resultCode, data);
        }
    }



private void initQQData() {
        mTencent = Tencent.createInstance(QQ_APPID, LoginActivity.this);
        scope = "all";
        loginListener = new IUiListener() {
            @Override
            public void onError(UiError arg0) {
                // TODO Auto-generated method stub
            }
            @Override
            public void onComplete(Object value) {
                // TODO Auto-generated method stub
                if (value == null) {
                    return;
                }
                try {
                    JSONObject jo = (JSONObject) value;
                    int ret = jo.getInt("ret");
                    UpMiLog.d(TAG, "json=" + String.valueOf(jo));
                    if (ret == 0) {
                        String openID = jo.getString("openid");
                        String accessToken = jo.getString("access_token");
                        String expires = jo.getString("expires_in");
                        mTencent.setOpenId(openID);
                        mTencent.setAccessToken(accessToken, expires);
                        getQQUserInfo();
                    }
                } catch (Exception e) {
                    // TODO: handle exception
                }
            }
            @Override
            public void onCancel() {
                // TODO Auto-generated method stub
            }
        };
        userInfoListener = new IUiListener() {
            @Override
            public void onError(UiError arg0) {
                // TODO Auto-generated method stub
            }
            @Override
            public void onComplete(Object arg0) {
                // TODO Auto-generated method stub
                if(arg0 == null){
                    return;
                }
                try {
                    JSONObject jo = (JSONObject) arg0;
                    int ret = jo.getInt("ret");
                    UpMiLog.d(TAG,"Get user info json=" + String.valueOf(jo));
                    if(ret == 0){
                        String nickName = jo.getString("nickname");
                        String gender = jo.getString("gender");
                        if (jo.has("figureurl")) {
                            Bitmap bitmap = null;
                            try {
                                String imageUri = jo.getString("figureurl_qq_2");
                                UpMiLog.d(TAG,"QQ head icon=" + imageUri);
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
                        }else
                        {
                            UpMiLog.d(TAG,"has not head icon");
                        }
                        Toast.makeText(LoginActivity.this, "你好," + nickName, Toast.LENGTH_LONG).show();
                    }else{
                    }
                } catch (Exception e) {
                    // TODO: handle exception
                }
            }

            @Override
            public void onCancel() {
                // TODO Auto-generated method stub
            }
        };
    }



Android QQ第三方登录详解

Android QQ第三方登录详解
  • Ye_Nuo
  • Ye_Nuo
  • 2017年06月03日 13:44
  • 1561

Android开发实现QQ三方登录

首先,先去腾讯开放平台获取APP ID和APP KEY(未注册腾讯开发者账号的可能需要先注册账号),获取的过程还是还是非常容易的。 http://open.qq.com/...
  • highboys
  • highboys
  • 2016年08月07日 16:51
  • 6583

Android实现QQ第三方登录

Android 实现QQ第三方登录 在项目中需要实现QQ第三方登录,经过一番努力算是写出来了,现在总结以下,以防以后遗忘,能帮到其他童鞋就更好了。 首先肯定是去下载SDK和DEMO ...
  • vrix
  • vrix
  • 2015年02月07日 16:30
  • 6802

Android仿qq登陆界面

每天登陆qq,就想着自己做一个qq登陆界面,下了一个qq.apk, 解压之后拿到里面的图片资源,就开始动工了。新建一个项目,将资源全部copy到自己的资源目录下!尝试将自己qq数据清除,在登陆之前有一...
  • wanzhicheng3656
  • wanzhicheng3656
  • 2015年09月16日 09:40
  • 1160

Android应用实现QQ授权登录

前一段时间在Android应用中实现了QQ授权登录功能,
  • twilight041132
  • twilight041132
  • 2014年09月27日 22:08
  • 27457

Android-使用Android Studio实现第三方QQ登录

现在的第三方登录很普遍如QQ,微博,微信,今天我们就来实现如何接入QQ登录到我们的项目中  要想使用QQ登录我们需要到腾讯开放平台注册账号获取开发者资格地址:http://open.qq.com/ ...
  • Brave_insist
  • Brave_insist
  • 2017年03月15日 20:53
  • 1404

Android实现登录系统(一)--QQ登录

最近做了一个登录系统,这个登录系统由三个部分组成,第一个是QQ登录,第二个是LeanCloud登录,第三个是SMS 短信验证登录,这篇博客介绍QQ登录。    首先按照官方文档所说的--导入jar包...
  • qq_33073453
  • qq_33073453
  • 2016年05月14日 14:52
  • 2188

Android学习笔记之 仿QQ登录界面的实现

原网址:http://www.cnblogs.com/wjdawx/p/3512493.html 先来看下效果图         1.首先是布局文件XML文件,不...
  • sinat_35845281
  • sinat_35845281
  • 2016年10月22日 14:39
  • 4786

Android-使用Android Studio实现第三方QQ登录

现在的第三方登录很普遍如QQ,微博,微信,今天我们就来实现如何接入QQ登录到我们的项目中 要想使用QQ登录我们需要到腾讯开放平台注册账号获取开发者资格地址:http://open.qq.com/ 注...
  • SandyRan
  • SandyRan
  • 2016年11月24日 14:28
  • 9912

Android之QQ授权登录获取用户信息

有时候我们开发的app需要方便用户简单登录,可以让用户使用自己的qq、微信、微博登录到我们自己开发的app。 今天就在这里总结一下如何在自己的app中集成QQ授权登录获取用户信息的功能。 首先我们...
  • bear_huangzhen
  • bear_huangzhen
  • 2015年06月23日 10:40
  • 33479
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android QQ 登录
举报原因:
原因补充:

(最多只允许输入30个字)