LoginActivityQQ登陆
来源:互联网 发布:监测网络流量的软件 编辑:程序博客网 时间:2024/05/14 05:12
package bwie.com.newsinfo;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import com.mob.tools.utils.UIHandler;
import java.util.HashMap;
import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.sina.weibo.SinaWeibo;
import cn.sharesdk.tencent.qq.QQ;
import cn.sharesdk.wechat.friends.Wechat;
import static android.R.attr.action;
public class LoginActivity extends AppCompatActivity implements PlatformActionListener, Handler.Callback, View.OnClickListener {
private static final int MSG_ACTION_CCALLBACK = 0;
private ImageView ivWxLogin;
private ImageView ivQqLogin;
private ImageView ivBlog;
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
initView();
initListener();
}
public void button_Login(View view){
Intent intent = new Intent(LoginActivity.this,UserLoginActivity.class);
startActivity(intent);
}
public void initView() {
ivWxLogin = (ImageView) findViewById(R.id.iv_wx_login);
ivQqLogin = (ImageView) findViewById(R.id.iv_qq_login);
ivBlog = (ImageView) findViewById(R.id.iv_blog);
}
public void initListener() {
ivWxLogin.setOnClickListener(this);
ivQqLogin.setOnClickListener(this);
ivBlog.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.iv_wx_login:
Platform wechat = ShareSDK.getPlatform(Wechat.NAME);
wechat.setPlatformActionListener(this);
wechat.SSOSetting(false);
authorize(wechat, 1);
break;
case R.id.iv_qq_login:
Platform qq = ShareSDK.getPlatform(QQ.NAME);
qq.setPlatformActionListener(this);
qq.SSOSetting(false);
authorize(qq, 2);
break;
case R.id.iv_blog:
Platform sina = ShareSDK.getPlatform(SinaWeibo.NAME);
sina.setPlatformActionListener(this);
sina.SSOSetting(false);
authorize(sina, 3);
break;
default:
break;
}
}
//授权
private void authorize(Platform plat, int type) {
switch (type) {
case 1:
showProgressDialog(getString(R.string.opening_wechat));
break;
case 2:
showProgressDialog(getString(R.string.opening_qq));
break;
case 3:
showProgressDialog(getString(R.string.opening_blog));
break;
}
plat.showUser(null);//授权并获取用户信息
}
//登陆授权成功的回调
@Override
public void onComplete(Platform platform, int i, HashMap<String, Object> res) {
Message msg = new Message();
msg.what = MSG_ACTION_CCALLBACK;
msg.arg1 = 1;
msg.arg2 = action;
msg.obj = platform;
UIHandler.sendMessage(msg, this); //发送消息
}
//登陆授权错误的回调
@Override
public void onError(Platform platform, int i, Throwable t) {
Message msg = new Message();
msg.what = MSG_ACTION_CCALLBACK;
msg.arg1 = 2;
msg.arg2 = action;
msg.obj = t;
UIHandler.sendMessage(msg, this);
}
//登陆授权取消的回调
@Override
public void onCancel(Platform platform, int i) {
Message msg = new Message();
msg.what = MSG_ACTION_CCALLBACK;
msg.arg1 = 3;
msg.arg2 = action;
msg.obj = platform;
UIHandler.sendMessage(msg, this);
}
//登陆发送的handle消息在这里处理
@Override
public boolean handleMessage(Message message) {
hideProgressDialog();
switch (message.arg1) {
case 1: { // 成功
Toast.makeText(LoginActivity.this, "授权登陆成功", Toast.LENGTH_SHORT).show();
//获取用户资料
Platform platform = (Platform) message.obj;
//获取用户账号
String userId = platform.getDb().getUserId();
//获取用户名字
String userName = platform.getDb().getUserName();
//获取用户头像
String userIcon = platform.getDb().getUserIcon();
//获取用户性别,m = 男, f = 女,如果微信没有设置性别,默认返回null
String userGender = platform.getDb().getUserGender();
Toast.makeText(LoginActivity.this, "用户信息为--用户名:" + userName + " 性别:" + userGender, Toast.LENGTH_SHORT).show();
//下面就可以利用获取的用户信息登录自己的服务器或者做自己想做的事啦!
Intent intent = new Intent(this,MainActivity.class);
intent.putExtra("userId", userId);
intent.putExtra("userName", userName);
intent.putExtra("userIcon", userIcon);
if(userGender.equals("m")){
intent.putExtra("userGender","男");
}else if(userGender.equals("f")){
intent.putExtra("userGender","女");
}else{
intent.putExtra("userGender","");
}
startActivity(intent);
LoginActivity.this.finish();
}
break;
case 2: { // 失败
Toast.makeText(LoginActivity.this, "授权登陆失败", Toast.LENGTH_SHORT).show();
}
break;
case 3: { // 取消
Toast.makeText(LoginActivity.this, "授权登陆取消", Toast.LENGTH_SHORT).show();
}
break;
}
return false;
}
//显示dialog
public void showProgressDialog(String message) {
progressDialog = new ProgressDialog(this);
progressDialog.setMessage(message);
progressDialog.setCancelable(true);
progressDialog.show();
}
//隐藏dialog
public void hideProgressDialog() {
if (progressDialog != null)
progressDialog.dismiss();
}
}
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import com.mob.tools.utils.UIHandler;
import java.util.HashMap;
import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.sina.weibo.SinaWeibo;
import cn.sharesdk.tencent.qq.QQ;
import cn.sharesdk.wechat.friends.Wechat;
import static android.R.attr.action;
public class LoginActivity extends AppCompatActivity implements PlatformActionListener, Handler.Callback, View.OnClickListener {
private static final int MSG_ACTION_CCALLBACK = 0;
private ImageView ivWxLogin;
private ImageView ivQqLogin;
private ImageView ivBlog;
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
initView();
initListener();
}
public void button_Login(View view){
Intent intent = new Intent(LoginActivity.this,UserLoginActivity.class);
startActivity(intent);
}
public void initView() {
ivWxLogin = (ImageView) findViewById(R.id.iv_wx_login);
ivQqLogin = (ImageView) findViewById(R.id.iv_qq_login);
ivBlog = (ImageView) findViewById(R.id.iv_blog);
}
public void initListener() {
ivWxLogin.setOnClickListener(this);
ivQqLogin.setOnClickListener(this);
ivBlog.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.iv_wx_login:
Platform wechat = ShareSDK.getPlatform(Wechat.NAME);
wechat.setPlatformActionListener(this);
wechat.SSOSetting(false);
authorize(wechat, 1);
break;
case R.id.iv_qq_login:
Platform qq = ShareSDK.getPlatform(QQ.NAME);
qq.setPlatformActionListener(this);
qq.SSOSetting(false);
authorize(qq, 2);
break;
case R.id.iv_blog:
Platform sina = ShareSDK.getPlatform(SinaWeibo.NAME);
sina.setPlatformActionListener(this);
sina.SSOSetting(false);
authorize(sina, 3);
break;
default:
break;
}
}
//授权
private void authorize(Platform plat, int type) {
switch (type) {
case 1:
showProgressDialog(getString(R.string.opening_wechat));
break;
case 2:
showProgressDialog(getString(R.string.opening_qq));
break;
case 3:
showProgressDialog(getString(R.string.opening_blog));
break;
}
plat.showUser(null);//授权并获取用户信息
}
//登陆授权成功的回调
@Override
public void onComplete(Platform platform, int i, HashMap<String, Object> res) {
Message msg = new Message();
msg.what = MSG_ACTION_CCALLBACK;
msg.arg1 = 1;
msg.arg2 = action;
msg.obj = platform;
UIHandler.sendMessage(msg, this); //发送消息
}
//登陆授权错误的回调
@Override
public void onError(Platform platform, int i, Throwable t) {
Message msg = new Message();
msg.what = MSG_ACTION_CCALLBACK;
msg.arg1 = 2;
msg.arg2 = action;
msg.obj = t;
UIHandler.sendMessage(msg, this);
}
//登陆授权取消的回调
@Override
public void onCancel(Platform platform, int i) {
Message msg = new Message();
msg.what = MSG_ACTION_CCALLBACK;
msg.arg1 = 3;
msg.arg2 = action;
msg.obj = platform;
UIHandler.sendMessage(msg, this);
}
//登陆发送的handle消息在这里处理
@Override
public boolean handleMessage(Message message) {
hideProgressDialog();
switch (message.arg1) {
case 1: { // 成功
Toast.makeText(LoginActivity.this, "授权登陆成功", Toast.LENGTH_SHORT).show();
//获取用户资料
Platform platform = (Platform) message.obj;
//获取用户账号
String userId = platform.getDb().getUserId();
//获取用户名字
String userName = platform.getDb().getUserName();
//获取用户头像
String userIcon = platform.getDb().getUserIcon();
//获取用户性别,m = 男, f = 女,如果微信没有设置性别,默认返回null
String userGender = platform.getDb().getUserGender();
Toast.makeText(LoginActivity.this, "用户信息为--用户名:" + userName + " 性别:" + userGender, Toast.LENGTH_SHORT).show();
//下面就可以利用获取的用户信息登录自己的服务器或者做自己想做的事啦!
Intent intent = new Intent(this,MainActivity.class);
intent.putExtra("userId", userId);
intent.putExtra("userName", userName);
intent.putExtra("userIcon", userIcon);
if(userGender.equals("m")){
intent.putExtra("userGender","男");
}else if(userGender.equals("f")){
intent.putExtra("userGender","女");
}else{
intent.putExtra("userGender","");
}
startActivity(intent);
LoginActivity.this.finish();
}
break;
case 2: { // 失败
Toast.makeText(LoginActivity.this, "授权登陆失败", Toast.LENGTH_SHORT).show();
}
break;
case 3: { // 取消
Toast.makeText(LoginActivity.this, "授权登陆取消", Toast.LENGTH_SHORT).show();
}
break;
}
return false;
}
//显示dialog
public void showProgressDialog(String message) {
progressDialog = new ProgressDialog(this);
progressDialog.setMessage(message);
progressDialog.setCancelable(true);
progressDialog.show();
}
//隐藏dialog
public void hideProgressDialog() {
if (progressDialog != null)
progressDialog.dismiss();
}
}
阅读全文
0 0
- LoginActivityQQ登陆
- 登陆
- 登陆
- 登陆
- 登陆
- 登陆
- 登陆
- 登陆
- 登陆
- 登陆
- 登陆
- 登陆
- 第一次登陆!!
- 第一次登陆
- 首次登陆
- 第一次登陆
- 初次登陆
- 第一次登陆
- Fragmentxml
- 面试题07:Count the smiley faces!
- 一步一步带你搭建后台管理系统之使用requirejs整合常用前端插件
- PyTorch基本用法(九)——优化器
- 洛谷Oj-奇怪的电梯-广度优先搜索
- LoginActivityQQ登陆
- Ai challenger 场景分类: train softmax using tfrecord
- spring之基于aspectj注解aop使用
- SQL Server中的STUFF函数的使用
- JAVA语言的三种技术架构
- HDU 1001 Sum Problem JAVA
- 批量提取文件名称
- ListView_itemxml
- HorizontalScrollView加载信息