Android Authorization completed

2020-06-22  本文已影响0人  钢镚koala

android twitter登录,很久之前写的实现方式。一直没改过。今日测试,发现一个问题。当用户打开授权页但是取消返回的时候,再次点击twitter登录按钮,会报授权失败错误。
查找一番后,发现是twitter 登录内部缓存问题导致。当用户取消后,内部的加载进度返回true,标识完成了。但是外部对于开发者和用户,并不知道,再次点击的时候,这个数值没有被清除,也就意味授权未结束。因此,需要我们手动帮助结束授权。

首先在点击按钮的时候,创建新的授权client

//如果之前有值,那需要先取消授权行为
mTwitterAuthClient?.cancelAuthorize()
mTwitterAuthClient = TwitterAuthClient()

在onActivityResult方法中,回调下面方法

 if (requestCode == TwitterAuthConfig.DEFAULT_AUTH_REQUEST_CODE) {
            mTwitterAuthClient?.handleTwitterActivityResult(requestCode, resultCode, data)
        }

对于twitterLoginButton的callback,如果在failure()方法中有处理,最好还是区分一下用户取消行为。(activity.result_canceled == resultCode)

上一篇 下一篇

猜你喜欢

热点阅读