QQ第三方登录

//首先按照Umeng中配置

注意点:

1.复制Debug文件到App下

2.复制三个Values文件到App-values下

MyApp:

public class MyApp extends Application {
//QQ
    {
        PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
    }
    @Override
    public void onCreate() {
        super.onCreate();

        initJpush();
        initumeng();
        initImg();

    }
//返回QQ头像时调用

    private void initImg() {
        DisplayImageOptions options  = new DisplayImageOptions.Builder().build();
       ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this).defaultDisplayImageOptions(options).build();
        ImageLoader.getInstance().init(configuration);
    }

    private void initumeng() {
        UMShareAPI.get(this);
    }
//Fragment:
private void initView() {
    mxiaoxi = view.findViewById(R.id.xiaoxi);
    micon = view.findViewById(R.id.qq_icon);
    mname = view.findViewById(R.id.qq_name);
    mqq = view.findViewById(R.id.ll_qq);
    mqq.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            UMShareAPI.get(getActivity()).getPlatformInfo(getActivity(), SHARE_MEDIA.QQ,umAuthListener);
        }
    });
}
UMAuthListener umAuthListener  = new UMAuthListener() {
    @Override
    public void onStart(SHARE_MEDIA share_media) {

    }

    @Override
    public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) {
        System.out.println("uid========"+map.get("uid"));
        System.out.println("name========"+map.get("name"));
        System.out.println("iconurl========"+map.get("iconurl"));
	//设置QQ头像
        ImageLoader.getInstance().displayImage(map.get("iconurl"),micon);
	//设置QQ名字
        mname.setText(map.get("name"));
    }

    @Override
    public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {

    }

    @Override
    public void onCancel(SHARE_MEDIA share_media, int i) {

    }
};

@Override
public void onDestroy() {
    super.onDestroy();

}

//最后在登录所在的Activity里复写onActivityResult方法,注意不可在fragment中实现,
// 如果在fragment中调用登录,在fragment依赖的Activity中实现,如果不实现onActivityResult方法,会导致登录或回调无法正常进行
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    UMShareAPI.get(this).onActivityResult(requestCode ,resultCode , data);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值