第三方 QQ登录

来源:互联网 发布:c语言return返回值给谁 编辑:程序博客网 时间:2024/05/22 00:22
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


<!--  清单文件配置    --><activity    android:name="com.tencent.connect.common.AssistActivity"    android:configChanges="orientation|keyboardHidden|screenSize"    android:theme="@android:style/Theme.Translucent.NoTitleBar" /><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="tencent1105602574" />    </intent-filter></activity><!--  -->


private static final String APP_ID = "1105602574";
private Tencent mTencent;private BaseUiListener mIUiListener;private ImageView ic_qq;

// 第三方登录 private void qq_login(){     //第三方登录     mTencent = Tencent.createInstance(APP_ID, this.getApplicationContext());     ic_qq = muen_layout.findViewById(R.id.ic_qq);     ic_qq.setOnClickListener(new View.OnClickListener() {         @Override         public void onClick(View view) {             /**通过这句代码,SDK实现了QQ的登录,这个方法有三个参数,第一个参数是context上下文,第二个参数SCOPO 是一个String类型的字符串,表示一些权限              官方文档中的说明:应用需要获得哪些API的权限,由“,”分隔。例如:SCOPE = “get_user_info,add_t”;所有权限用“all”              第三个参数,是一个事件监听器,IUiListener接口的实例,这里用的是该接口的实现类 */             mIUiListener = new BaseUiListener();             mTencent.login(HomeActivity.this,"all", mIUiListener);         }     }); }


/** * 自定义监听器实现IUiListener接口后,需要实现的3个方法 * onComplete完成 onError错误 onCancel取消 */public class BaseUiListener implements IUiListener {    @Override    public void onComplete(Object response) {        Toast.makeText(HomeActivity.this, "授权成功", Toast.LENGTH_SHORT).show();        Log.e("TAG", "response:" + response);        JSONObject obj = (JSONObject) response;        try {            String openID = obj.getString("openid");            String accessToken = obj.getString("access_token");            String expires = obj.getString("expires_in");            mTencent.setOpenId(openID);            mTencent.setAccessToken(accessToken,expires);            QQToken qqToken = mTencent.getQQToken();            UserInfo mUserInfo = new UserInfo(getApplicationContext(),qqToken);            mUserInfo.getUserInfo(new IUiListener() {                @Override                public void onComplete(Object response) {                    Log.e("TAG","登录成功"+response.toString());                    Gson gson = new Gson();                    UserBean userBean = gson.fromJson(response.toString(), UserBean.class);                  //  tv.setText(userBean.getNickname()+"");                    BitmapUtils bitmapUtils3=new BitmapUtils(HomeActivity.this);                    bitmapUtils3.display(imageView2,userBean.getFigureurl());                }                @Override                public void onError(UiError uiError) {                    Log.e("TAG","登录失败"+uiError.toString());                }                @Override                public void onCancel() {                    Log.e("TAG","登录取消");                }            });        } catch (JSONException e) {            e.printStackTrace();        }    }    @Override    public void onError(UiError uiError) {        Toast.makeText(HomeActivity.this, "授权失败", Toast.LENGTH_SHORT).show();    }    @Override    public void onCancel() {        Toast.makeText(HomeActivity.this, "授权取消", Toast.LENGTH_SHORT).show();    }}/** * 在调用Login的Activity或者Fragment中重写onActivityResult方法 * @param requestCode * @param resultCode * @param data */@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {    if(requestCode == Constants.REQUEST_LOGIN){        Tencent.onActivityResultData(requestCode,resultCode,data,mIUiListener);    }    super.onActivityResult(requestCode, resultCode, data);}


Bean

package com.bawei.zy.zyy1121;import com.google.gson.Gson;/** * Created by ${张洋洋} on 2017/11/21. */public class UserBean {    /**     * is_yellow_year_vip : 0     * ret : 0     * figureurl_qq_1 : http://q.qlogo.cn/qqapp/1105602574/E0909432A5B8E81D75F9960CE76381A6/40     * figureurl_qq_2 : http://q.qlogo.cn/qqapp/1105602574/E0909432A5B8E81D75F9960CE76381A6/100     * nickname : 麦片_     * yellow_vip_level : 0     * is_lost : 0     * msg :     * city : 西部     * figureurl_1 : http://qzapp.qlogo.cn/qzapp/1105602574/E0909432A5B8E81D75F9960CE76381A6/50     * vip : 0     * level : 0     * figureurl_2 : http://qzapp.qlogo.cn/qzapp/1105602574/E0909432A5B8E81D75F9960CE76381A6/100     * province :     * is_yellow_vip : 0     * gender : 男     * figureurl : http://qzapp.qlogo.cn/qzapp/1105602574/E0909432A5B8E81D75F9960CE76381A6/30     */    private String is_yellow_year_vip;    private int ret;    private String figureurl_qq_1;    private String figureurl_qq_2;    private String nickname;    private String yellow_vip_level;    private int is_lost;    private String msg;    private String city;    private String figureurl_1;    private String vip;    private String level;    private String figureurl_2;    private String province;    private String is_yellow_vip;    private String gender;    private String figureurl;    public static UserBean objectFromData(String str) {        return new Gson().fromJson(str, UserBean.class);    }    public String getIs_yellow_year_vip() {        return is_yellow_year_vip;    }    public void setIs_yellow_year_vip(String is_yellow_year_vip) {        this.is_yellow_year_vip = is_yellow_year_vip;    }    public int getRet() {        return ret;    }    public void setRet(int ret) {        this.ret = ret;    }    public String getFigureurl_qq_1() {        return figureurl_qq_1;    }    public void setFigureurl_qq_1(String figureurl_qq_1) {        this.figureurl_qq_1 = figureurl_qq_1;    }    public String getFigureurl_qq_2() {        return figureurl_qq_2;    }    public void setFigureurl_qq_2(String figureurl_qq_2) {        this.figureurl_qq_2 = figureurl_qq_2;    }    public String getNickname() {        return nickname;    }    public void setNickname(String nickname) {        this.nickname = nickname;    }    public String getYellow_vip_level() {        return yellow_vip_level;    }    public void setYellow_vip_level(String yellow_vip_level) {        this.yellow_vip_level = yellow_vip_level;    }    public int getIs_lost() {        return is_lost;    }    public void setIs_lost(int is_lost) {        this.is_lost = is_lost;    }    public String getMsg() {        return msg;    }    public void setMsg(String msg) {        this.msg = msg;    }    public String getCity() {        return city;    }    public void setCity(String city) {        this.city = city;    }    public String getFigureurl_1() {        return figureurl_1;    }    public void setFigureurl_1(String figureurl_1) {        this.figureurl_1 = figureurl_1;    }    public String getVip() {        return vip;    }    public void setVip(String vip) {        this.vip = vip;    }    public String getLevel() {        return level;    }    public void setLevel(String level) {        this.level = level;    }    public String getFigureurl_2() {        return figureurl_2;    }    public void setFigureurl_2(String figureurl_2) {        this.figureurl_2 = figureurl_2;    }    public String getProvince() {        return province;    }    public void setProvince(String province) {        this.province = province;    }    public String getIs_yellow_vip() {        return is_yellow_vip;    }    public void setIs_yellow_vip(String is_yellow_vip) {        this.is_yellow_vip = is_yellow_vip;    }    public String getGender() {        return gender;    }    public void setGender(String gender) {        this.gender = gender;    }    public String getFigureurl() {        return figureurl;    }    public void setFigureurl(String figureurl) {        this.figureurl = figureurl;    }}



原创粉丝点击