第三方QQ登录

时间:2022-03-07 13:22:07

第三方的QQ登录步骤:


我是根据友盟上的步骤做的 首先下载友盟的sdk 根据步骤进行复制粘贴就行了 切记:不要忘记在application里面进行注册 并且在(配置文件中)进行修改友盟上提供的values值

<meta-data
android:name="UMENG_APPKEY"
android:value="58c67c4599f0c769c9001a15" >
</meta-data>

    紧接着在application中要进行

{

PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3");
PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad", "http://sns.whalecloud.com");
}
切记:在application中的oncreate 方法外面设置

接着就是在MainActivity中进行接口回调的一些操作(具体操作友盟上都有) 因为友盟上提供的第三方登录每次都要进行授权操作 所以此时需要在接口中进行一个判断操作如下所示:

private UMAuthListener umAuthListener = new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
//授权开始的回调
}
@Override
public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
Toast.makeText(getApplicationContext(), "Authorize succeed", Toast.LENGTH_SHORT).show();



switch (action){
// 授权登录
case ACTION_AUTHORIZE:
UMShareAPI mShareAPI = UMShareAPI.get( MainActivity.this );
mShareAPI.getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, umAuthListener);

break;
// 注销
case ACTION_DELETE:
break;
// 登录成功
case ACTION_GET_PROFILE:
String iconurl = data.get("iconurl");
String name = data.get("name");
String gender = data.get("gender");
Log.i("--iconurl: name: gender",iconurl+" "+name+" "+" "+gender);

break;
}

}

@Override
public void onError(SHARE_MEDIA platform, int action, Throwable t) {
Toast.makeText( getApplicationContext(), "Authorize fail", Toast.LENGTH_SHORT).show();
}

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


进行判断之后可以在接口方法中进行获取用户信息的操作

切记 在activity中的onActivityResult方法中进行获取用户信息的操作 需注意 此方法只能在Activity 中进行不可在fragment中进行操作

最后在点击事件(也就是按钮的点击)中进行接口回调

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
UMShareAPI mShareAPI = UMShareAPI.get( MainActivity.this );
mShareAPI.doOauthVerify(MainActivity.this, SHARE_MEDIA.QQ, umAuthListener);
}
});

以上就是我所知道的第三方的QQ登录