Twitter不再授权旧的Android设备/ webview?

时间:2014-11-02 03:38:19

标签: android webview twitter-oauth twitter4j

当我在2.2和2.3.4设备上重新运行我的应用程序时,我注意到了这一点。基本上我有一个装有twitter4j的客户端getAuthenticationURL的WebView。 Twitter Login

如果一切正确并单击“登录”,webview将加载另一个页面,要求用户授权。从那里,“授权应用程序”将返回应用程序的自定义回调和用户令牌。

Twitter Authorization

点击“登录”按钮将不再将webview发送到授权页面。它会留在那里。当我调试我的WebViewClient并探测onPageStarted时,我注意到发送了一个请求。但Twitter没有回应。另外,在我的4.4 Nexus平板电脑中,没有授权页面。 “登录”将授权并立即返回回调。

到目前为止,我找到了三种解决方法(所有这些测试都是通过全新安装完成的):

  • 点击取消,重新启动应用,然后重新加载相同的网址+请求令牌。这次没有登录。它将使webview直接加载Authorization页面。
  • 这是所有人的完全黑客。基本上我需要输入错误的密码,我将被发送到密码再确认页面。如果我这次输入正确的密码,我将看到该授权页面。事实上,上面的第二个快照就是这样获得的。
  • 如果我在浏览器上粘贴该网址+请求令牌,它也会跳过授权页面并立即返回我的回调。如果这适用于startActivity-for-browser方案,而不是嵌入式webview,我还没有进行彻底的研究。 编辑:它的工作原理,登录后,浏览器将触发一个警告,然后返回我的应用程序在onNewIntent中拦截的回调。没有授权页面。回调网址也需要像bla:// callback

    这样的回调主机

    enter image description here

我很确定我能够在不久前浏览登录页面,包括使用旧设备进行授权。这个授权是破坏还是过时了?

1 个答案:

答案 0 :(得分:0)

如果没有更好的答案,那么当前的解决方案必须要做:单独的登录方法。我使用Intent来浏览pre-ICS和WebView。