友盟第三方QQ登录和获取用户登录信息并设置用户头像

package com.example.frage;


import java.util.ArrayList;
import java.util.Map;
import java.util.Set;


import com.example.adapter.MyAdapter;
import com.example.bean.Tuijian_bean;
import com.example.pro_todaynews.LoginActivity;
import com.example.pro_todaynews.R;
import com.example.pro_todaynews.R.drawable;
import com.example.pro_todaynews.R.id;
import com.example.pro_todaynews.R.layout;
import com.example.replace.SPUtils;
import com.example.umeng.app.App;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.controller.UMServiceFactory;
import com.umeng.socialize.controller.UMSocialService;
import com.umeng.socialize.controller.listener.SocializeListeners.UMAuthListener;
import com.umeng.socialize.controller.listener.SocializeListeners.UMDataListener;
import com.umeng.socialize.exception.SocializeException;
import com.umeng.socialize.sso.QZoneSsoHandler;
import com.umeng.socialize.sso.UMQQSsoHandler;


import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;


public class SlidingFragement extends Fragment {


private ArrayList<Tuijian_bean> listuser;
private View view;
private ListView lv;
private String[] str = new String[] { "搜索", "收藏", "消息", "离线", "活动", "设置",
"反馈", "精彩活动" };
private int[] image = new int[] { R.drawable.ic_drawer_search_normal,
R.drawable.ic_drawer_favorite_normal,
R.drawable.ic_drawer_message_normal,
R.drawable.ic_drawer_offline_normal,
R.drawable.left_drawer_activity,
R.drawable.ic_drawer_setting_normal,
R.drawable.ic_drawer_feedback_normal,
R.drawable.ic_drawer_appstore_normal };
private ImageView qq;
private TextView login_more;
private UMSocialService mController;
private String str1;
private String str2;
private ImageView yejian;
private SharedPreferences shar;


public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// 设置日间夜间模式
if (SPUtils.get(getActivity(), "theme", "dayTheme").equals("dayTheme")) {
getActivity().setTheme(R.style.dayTheme);
} else {
getActivity().setTheme(R.style.nightTheme);
}
view = View.inflate(getActivity(), R.layout.slidingmenu, null);
shar = getActivity().getSharedPreferences("flag",
getActivity().MODE_PRIVATE);
return view;
}


@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
getview();
mController = UMServiceFactory.getUMSocialService("com.umeng.login");
String appId = "100424468";
String appKey = "c7394704798a158208a74ab60104f0bas";
// 添加QQ支持, 并且设置QQ分享内容的target url
UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler(getActivity(), appId,
appKey);
qqSsoHandler.setTargetUrl("http://www.umeng.com");
qqSsoHandler.addToSocialSDK();
// 添加QZone平台
QZoneSsoHandler qZoneSsoHandler = new QZoneSsoHandler(getActivity(),
appId, appKey);
qZoneSsoHandler.addToSocialSDK();


lv.setAdapter(new MyAdapter(getActivity(), str, image));


}


private void getview() {
lv = (ListView) view.findViewById(R.id.lv);
qq = (ImageView) view.findViewById(R.id.img_qq);
login_more = (TextView) view.findViewById(R.id.login_more);
yejian = (ImageView) view.findViewById(R.id.yejian_);


if (shar.getBoolean("falg", true)) {
yejian.setImageResource(R.drawable.nighticon_leftdrawer_normal);
} else {
yejian.setImageResource(R.drawable.dayicon_leftdrawer_normal_night);
}


// 更多登录方式
login_more.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {
// 跳转到登录界面
Intent intent = new Intent(getActivity(), LoginActivity.class);
startActivity(intent);
}
});
qq.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {
// qq登录
login(SHARE_MEDIA.QQ);


}


});
// 日间夜间切换
yejian.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {
if (SPUtils.get(getActivity(), "theme", "dayTheme").equals(
"dayTheme")) {
SPUtils.put(getActivity(), "theme", "nightTheme");
shar.edit().putBoolean("falg", true).commit();
} else {
SPUtils.put(getActivity(), "theme", "dayTheme");
shar.edit().putBoolean("falg", false).commit();
}
getActivity().recreate();


}
});


}


private void login(SHARE_MEDIA qq) {
mController.doOauthVerify(getActivity(), qq, new UMAuthListener() {


@Override
public void onStart(SHARE_MEDIA platform) {
}


@Override
public void onError(SocializeException e, SHARE_MEDIA platform) {
}


@Override
public void onComplete(Bundle value, SHARE_MEDIA platform) {
String uid = value.getString("uid");
if (!TextUtils.isEmpty(uid)) {
getUserInfo(platform);
} else {
Toast.makeText(getActivity(), "授权失败...", Toast.LENGTH_SHORT)
.show();
}
}


@Override
public void onCancel(SHARE_MEDIA platform) {
}
});


}


private void getUserInfo(SHARE_MEDIA platform) {
mController.getPlatformInfo(getActivity(), platform,
new UMDataListener() {


@Override
public void onStart() {


}


@Override
public void onComplete(int status, Map<String, Object> info) {


if (status == 200 && info != null) {
StringBuilder sb = new StringBuilder();
Set<String> keys = info.keySet();
for (String key : keys) {
sb.append(key + "=" + info.get(key).toString()
+ "\r\n");
/*
* if("profile_image_url".equals(
* key.trim())&&mContext instanceof
* IndexActivity){ ((IndexActivity
* )mContext).setUserIcon
* (info.get(key).toString()); }
*/
if ("profile_image_url".equals(key.trim())) {
LinearLayout ll1 = (LinearLayout) view
.findViewById(R.id.line1);
LinearLayout ll2 = (LinearLayout) view
.findViewById(R.id.leftmenu_fragment1_ll2);
ll1.setVisibility(View.GONE);
ll2.setVisibility(View.VISIBLE);
ImageView img = (ImageView) view
.findViewById(R.id.leftmenu_fragment1_ll2_iv__img);
// ((IndexActivity)mContext).setUserIcon(info.get(key).toString());
ImageLoader.getInstance().displayImage(
info.get(key).toString(), img,
App.getDisplayImageOptions());
MyFrage frage = new MyFrage();
ImageLoader.getInstance().displayImage(
info.get(key).toString(),
frage.image,
App.getDisplayImageOptions());


} else if ("screen_name".equals(key.trim())) {
LinearLayout ll1 = (LinearLayout) view
.findViewById(R.id.line1);
LinearLayout ll2 = (LinearLayout) view
.findViewById(R.id.leftmenu_fragment1_ll2);
ll1.setVisibility(View.GONE);
ll2.setVisibility(View.VISIBLE);
TextView name = (TextView) view
.findViewById(R.id.leftmenu_qqname);
name.setText(info.get(key).toString());
}


}


}


}
});


}


public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getActivity().getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值