关于第三方QQ登录遇到的问题

使用友盟社会分享化组件调用QQ登录逻辑会多次获取授权

public class MainActivity extends AppCompatActivity {
 
 
public ArrayList<SnsPlatform> platforms = new ArrayList<SnsPlatform>();
//以后加入新浪,微信等平台
 
 
private SHARE_MEDIA[] list = {SHARE_MEDIA. QQ };
private boolean authorize ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout. activity_main );
initPlatforms();
initView(); //进入判断权限是否授权
authorize = UMShareAPI. get ( this ).isAuthorize( this , platforms .get( 0 ). mPlatform );
}
private void initView() {
ImageView main_qq_login = (ImageView) findViewById(R.id. main_qq_login );
main_qq_login.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
//调用监听回调方法
UMShareAPI. get (MainActivity. this ).getPlatformInfo(MainActivity. this , platforms .get( 0 ). mPlatform , umAuthListener );
if ( authorize ) {
//删除授权
UMShareAPI. get (MainActivity. this ).deleteOauth(MainActivity. this , platforms .get( 0 ). mPlatform , umAuthListener );
} else {
//添加授权
UMShareAPI. get (MainActivity. this ).doOauthVerify(MainActivity. this , platforms .get( 0 ). mPlatform , umAuthListener );
}
}
}
});
private void initPlatforms() {
platforms .clear();
for (SHARE_MEDIA e : list ) {
if (!e.toString().equals(SHARE_MEDIA. GENERIC .toString())) {
platforms .add(e.toSnsPlatform());
} }
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) {
Toast. makeText (MainActivity. this , " 成功了 " , Toast. LENGTH_SHORT ).show();
switch (i) {
case ACTION_AUTHORIZE :
break ;
case ACTION_DELETE :
break ;
case ACTION_GET_PROFILE :
Intent intent = new Intent(MainActivity. this , SecondAvtivity. class );
startActivity(intent);
break ;
default :
break ;
}
}
@Override
public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {
}
@Override
public void onCancel(SHARE_MEDIA share_media, int i) {
}
};
	//【重点】必须回调

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在使用pip安装第三方库时遇到超时问题,可以尝试以下解决方案。首先,可以尝试修改pip的默认超时时间。可以使用以下命令来修改pip的默认超时时间为100秒:pip --default-timeout=100 install -U pip。然后再使用pip安装第三方库时,也可以使用相同的命令来设置超时时间:pip --default-timeout=100 install 第三方库名。这样可以增加pip的超时时间,从而解决下载超时的问题。\[2\]\[3\]另外,对于比较小的库,还可以尝试延时处理,即在安装时增加一定的延时时间,以便更好地适应网络环境。\[3\]这些方法可以帮助解决python安装第三方库超时的问题。 #### 引用[.reference_title] - *1* *3* [python pip安装第三方库超时问题](https://blog.csdn.net/weixin_41948075/article/details/104336521)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python安装第三库超时的解决方法](https://blog.csdn.net/qq_39445165/article/details/102845366)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值