您的位置:首页 > 其它

第三方QQ登陆

2016-09-21 10:34 357 查看
//qq登陆
public void Login(View v) {
SHARE_MEDIA platform = SHARE_MEDIA.QQ;
mShareAPI.doOauthVerify(this, platform, umAuthListener);
mShareAPI.getPlatformInfo(RememberActivity.this, platform, umAuthListener);
}

private UMAuthListener umAuthListener = new UMAuthListener() {
@Override
public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {

if (action == UMAuthListener.ACTION_GET_PROFILE) {
//获取用户信息
//头像
String avatar = data.get("profile_image_url");
//昵称
String nickName = data.get("screen_name");

PreferencesUtil.putPreferences(LiveVideo.USER_NAME, nickName, RememberActivity.this);
PreferencesUtil.putPreferences(LiveVideo.USER_PATH, avatar, RememberActivity.this);
}
if (PreferencesUtil.getPreferences(LiveVideo.USER_NAME, "", RememberActivity.this).equals("") &&
PreferencesUtil.getPreferences(LiveVideo.USER_PATH, "", RememberActivity.this).equals("")) {
Toast.makeText(RememberActivity.this, "登陆失败", Toast.LENGTH_SHORT).show();
} else {
Intent intent = new Intent(RememberActivity.this, MainActivity.class);
startActivity(intent);
finish();// 刷新
}
//            Toast.makeText(getApplicationContext(), "授权成功", Toast.LENGTH_SHORT).show();
}

@Override
public void onError(SHARE_MEDIA platform, int action, Throwable t) {
//            Toast.makeText(getApplicationContext(), "授权失败", Toast.LENGTH_SHORT).show();
}

@Override
public void onCancel(SHARE_MEDIA platform, int action) {
//            Toast.makeText(getApplicationContext(), "Authorize cancel", Toast.LENGTH_SHORT).show();
}
};

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mShareAPI.onActivityResult(requestCode, resultCode, data);
}


//保存头像,名字

package com.bawei.myjufan.utils;

import android.content.Context;
import android.content.SharedPreferences;

import com.bawei.myjufan.R;

/**
* 作者: 杨东海
* 创建时间: 2016-9-6.
*/
public class PreferencesUtil {

public static SharedPreferences preferences;
/*
* 将数据存入配置文件的方法
* void无返回类型
*/
public static <T> String putPreferences(String key, T value, Context context) {
checkSP(context);
SharedPreferences.Editor editor = preferences.edit();
if (value instanceof String) {
editor.putString(key, value.toString());
} else if (value instanceof Boolean) {
editor.putBoolean(key, ((Boolean) value).booleanValue());
} else if (value instanceof Integer) {
editor.putInt(key, ((Integer) value).intValue());
} else if (value instanceof Float) {
editor.putFloat(key, ((Float) value).floatValue());
} else if (value instanceof Long) {
editor.putLong(key, ((Long) value).longValue());
}
editor.commit();
return key;
}
/*
* 检查配置文件是否存在
*/
private static void checkSP(Context context) {
if (preferences == null) {
preferences = context.getSharedPreferences(context.getString(R.string.sp_name), Context.MODE_PRIVATE);
}
}
/*
* 获取配置文件内容的方法
* 返回类型为泛型:-T类型
*/
@SuppressWarnings("unchecked")
public static <T> T getPreferences(String key, T value, Context context) {
checkSP(context);
Object o = null;
if (value instanceof String) {
o = preferences.getString(key, value.toString());
} else if (value instanceof Boolean) {
o = preferences.getBoolean(key,
((Boolean) value).booleanValue());
} else if (value instanceof Integer) {
o = preferences.getInt(key,
((Integer) value).intValue());
} else if (value instanceof Float) {
o = preferences.getFloat(key,
((Float) value).floatValue());
} else if (value instanceof Long) {
o = preferences.getLong(key,
((Long) value).longValue());
}
T t = (T) o;

return t;
}

public static void clear() {
SharedPreferences.Editor editor = preferences.edit();
editor.clear();
editor.commit();
}
}


//addlication清单文件别忘记name

public static final String USER_NAME = "name";
public static final String USER_PATH = "path";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: