关闭

QQ登录

434人阅读 评论(0) 收藏 举报
分类:
package com.example.qqlogin;


import org.json.JSONException;
import org.json.JSONObject;


import com.lidroid.xutils.BitmapUtils;
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 android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends Activity {


private TextView tv;
private Tencent tencent;
private ImageView iv;
Handler handler=new Handler(){


@Override
public void handleMessage(Message msg) {
if(msg.what==1){
JSONObject response = (JSONObject) msg.obj;
String str;
try {
str = response.getString("nickname");
String url=response.getString("figureurl_1");
Toast.makeText(MainActivity.this, url, 0).show();
Intent intent=new Intent(MainActivity.this,TwoActivity.class);
intent.putExtra("st", str);
intent.putExtra("url", url);
startActivity(intent);


} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

};


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

tv = (TextView) findViewById(R.id.tv);
iv = (ImageView) findViewById(R.id.iv);
}
    public void login(View v){
    String appid="1105364936";
   
    tencent = Tencent.createInstance(appid, getApplicationContext());
    tencent.login(this, "all", new MyIUiListener());
   
    }
      public class MyIUiListener implements IUiListener{


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

}


@Override
public void onComplete(Object object) {
try {
String token = ((JSONObject) object).getString(Constants.PARAM_ACCESS_TOKEN);
String expires = ((JSONObject) object).getString(Constants.PARAM_EXPIRES_IN);
String openId = ((JSONObject) object).getString(Constants.PARAM_OPEN_ID);
tencent.setAccessToken(token, expires);
tencent.setOpenId(openId);
QQToken token1=tencent.getQQToken();
UserInfo info=new UserInfo(MainActivity.this, token1);
info.getUserInfo(new IUiListener() {

@Override
public void onError(UiError arg0) {
// TODO Auto-generated method stub

}

@Override
public void onComplete(Object arg0) {
handler.obtainMessage(1, arg0).sendToTarget();


}

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

}
});


} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}


@Override
public void onError(UiError arg0) {
Toast.makeText(MainActivity.this, "登录失败", 0).show();

}



      }
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  // TODO Auto-generated method stub
  if (requestCode == Constants.REQUEST_LOGIN) {
     Tencent.onActivityResultData(requestCode, resultCode, data, null);
     }


  super.onActivityResult(requestCode, resultCode, data);
  }

}

-------------------------------------登录成功

Intent intent=getIntent();
String str=intent.getStringExtra("st");
String url=intent.getStringExtra("url");
TextView tv=(TextView) findViewById(R.id.tv_two);
tv.setTextColor(Color.RED);
tv.setText(str);
wv = (WebView) findViewById(R.id.wv);
wv.setWebViewClient(new WebViewClient());


wv.loadUrl(url);

-----------------------权限

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


      <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="tencent1105364936" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.tencent.connect.common.AssistActivity"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />



1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

iOS开发之第三方登录QQ -- 史上最全最新第三方登录QQ方式实现

项目地址 :  https://github.com/zhonggaorong/QQLoginDemo/tree/master 最新版本的qq登录实现步骤实现: 1. 首先,你需要去向腾讯申请账号。 地址:点击打开链接 2. 下载最新的SDK   地址: SDK下载...
  • zhonggaorong
  • zhonggaorong
  • 2016-06-17 18:06
  • 20335

第三方登录(QQ登录)开发流程详解

第三方登录(QQ登录)开发流程详解   近排由于工作的繁忙,已经一个星期没写博文做分享了,接下来我对网站接入第三方登录----QQ登录的实现逻辑做一个详细的讲解。   对于整个流程的详细文档可以到QQ互联官网(http://wiki.connect.qq.com)查看,我这里就简...
  • lihe460186709
  • lihe460186709
  • 2017-03-06 11:36
  • 2279

网站集成QQ登录功能

最近在做一个项目时,客户要求网站能够集成QQ登录的功能,以前没做过这方面的开发,于是去QQ的开放平台官网研究了一下相关资料,经过自己的艰苦探索,终于实现了集成QQ登录的功能,现在把相关的开发经验总结一下,希望对有这方面需求的朋友有所帮助。 一.前期准备 首先你需要登录QQ的开发平台注册一个账号,...
  • three_bird
  • three_bird
  • 2016-05-28 15:34
  • 1595

【第三方登录】第三方登录 Part1 —— QQ登录(2016-09最新版)

由于楼主是web开发方向,所以这里就介绍一下web接入qq登录的方法,以及和app的qq登录打通的方法 0、前提 已经有一个在工信部备案过的域名的网站,具体可以查询工信部的备案页面(请注意这里的信息很重要,会影响之后qq登录申请时的资料填写) 工信部查询域名备案的网址:http://www.mi...
  • snow_finland
  • snow_finland
  • 2016-09-12 11:46
  • 3291

Android QQ第三方登录详解

Android QQ第三方登录详解
  • Ye_Nuo
  • Ye_Nuo
  • 2017-06-03 13:44
  • 1552

QQ第三方登录的详解(本地测试可用)

第一步:进入 https://connect.qq.com/ 完成开发者认证 第二步:创建应用(目的是获取 appid appkey 回调地址) --------------选择需要创建的应用类型 ---=-------点击创建应用进入下图的页面 -----...
  • u012736401
  • u012736401
  • 2016-12-26 16:56
  • 4992

Android开发实现QQ三方登录

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

实现QQ第三方登录、网站接入

1.注册账号: http://connect.qq.com/ 2.网站接入: http://wiki.connect.qq.com/%E7%BD%91%E7%AB%99%E6%8E%A5%E5%85%A5%E6%B5%81%E7%A8%8B 3.实现QQ登录功能: JS SDK最简便:http:...
  • u010678947
  • u010678947
  • 2016-01-06 22:19
  • 4043

雷袭-----qq第三方登录,让你闪电进入app

现在很多应用都已经涉及到  第三方登录了,他的使用能更方便大家进入app,不用繁琐的输入密码,那么今天就来探索下  QQ 的三方登录。 首先,大家在白度上 搜  “腾讯开放平台”,进入以下界面:
  • Burn_yourself
  • Burn_yourself
  • 2016-09-12 18:51
  • 713

批处理文件——多个QQ一键登录

偶然看到有的同学登录PC的QQ,发现他有很多QQ,每登录一个要切换一个,虽然记住了密码,但还是不方便,于是想通过批处理来实现“一键登录”的功能。以下内容为本文假想,如有雷同,实属巧合!        具体的实现步骤如下:  ...
  • xuzewei_2
  • xuzewei_2
  • 2014-03-24 13:55
  • 2943
    个人资料
    • 访问:8626次
    • 积分:373
    • 等级:
    • 排名:千里之外
    • 原创:26篇
    • 转载:1篇
    • 译文:2篇
    • 评论:2条
    文章分类
    最新评论