当我在2.2和2.3.4设备上重新运行我的应用程序时,我注意到了这一点。基本上我有一个装有twitter4j的客户端getAuthenticationURL
的WebView。
如果一切正确并单击“登录”,webview将加载另一个页面,要求用户授权。从那里,“授权应用程序”将返回应用程序的自定义回调和用户令牌。
点击“登录”按钮将不再将webview发送到授权页面。它会留在那里。当我调试我的WebViewClient并探测onPageStarted
时,我注意到发送了一个请求。但Twitter没有回应。另外,在我的4.4 Nexus平板电脑中,没有授权页面。 “登录”将授权并立即返回回调。
到目前为止,我找到了三种解决方法(所有这些测试都是通过全新安装完成的):
如果我在浏览器上粘贴该网址+请求令牌,它也会跳过授权页面并立即返回我的回调。如果这适用于startActivity-for-browser方案,而不是嵌入式webview,我还没有进行彻底的研究。 编辑:它的工作原理,登录后,浏览器将触发一个警告,然后返回我的应用程序在onNewIntent中拦截的回调。没有授权页面。回调网址也需要像bla:// callback
这样的回调主机
我很确定我能够在不久前浏览登录页面,包括使用旧设备进行授权。这个授权是破坏还是过时了?
答案 0 :(得分:0)
如果没有更好的答案,那么当前的解决方案必须要做:单独的登录方法。我使用Intent来浏览pre-ICS和WebView。