【问题标题】:CallBack not working on Galaxy Tab, but does work on all other devicesCallBack 不适用于 Galaxy Tab,但适用于所有其他设备
【发布时间】:2011-02-13 09:09:12
【问题描述】:

我正在我全新的 Galaxy Tab 上测试我的应用,但遇到了一些奇怪的事情。

我的应用中集成了 Twitter。它基本上做的是打开一个 WebView 并使用 Oauth 进行身份验证。之后,它使用秘密令牌将回调发送回我的应用程序,然后我将其用于发推文。您可以在此处获取有关我如何执行此操作的更多信息:CallBack after Twitter authentication

这适用于所有设备,但在 Galaxy Tab 上它不会返回到我的应用程序。相反,它在浏览器中为我提供了“网页不可用”页面,并且在 adresbar 中具有正确的回调 URL。

为什么它在 Galaxy Tab 上不起作用?

编辑:

会不会是因为 Galaxy Tab 使用自己的浏览器不支持回调?

【问题讨论】:

    标签: android callback webview galaxy


    【解决方案1】:

    我有点惊讶它可以在 任何 设备上运行...回调是作为对正常 HTTP 请求的响应发送的,即 302 重定向。这与用户点击不同...我认为您永远无法依赖浏览器触发 Intent 进行重定向。

    除非您很快找到解决方法,否则我强烈建议您切换到XAuth。它更适合移动应用程序。 Twitter 的 OAuth 流程假定每一步都使用 PC 网络浏览器,这在移动平台上始终是一种糟糕的用户体验。

    【讨论】:

    • 不幸的是,xAuth 对我们来说是没有选择的。是否可以在我的应用程序中创建自定义 webview 作为解决方法?如果是这样,我该怎么做?
    • 您可以尝试将回调 URL 更改为 javascript:window.location="sosInternational:///HierBenIkNu"。当然,适当的 urlencoded,并在您的 WebView 中启用 Javascript。这可能会迫使浏览器触发意图。
    • 我们可以安全地假设这不再是一个问题,即上述建议有效吗?该死,但我讨厌人们消失的时候...>:-[
    • 我没有“消失”。感谢您(以及其他人)的帮助,但本周我在一些截止日期前度过了一段艰难的时光。我稍后会对此进行研究,但不要将我与其他热门跑步者联系在一起。
    【解决方案2】:

    twitter 库通过检查在 web 浏览器中打开的链接来工作。一种最简单的检查方法是在实现 WebViewClient 的代码中放置一个断点。如果断点在函数 onLoadResource 上命中,那么还有其他一些错误,或者您认为是正确的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-27
      • 2016-02-06
      • 1970-01-01
      • 1970-01-01
      • 2016-10-11
      • 2021-06-25
      • 2021-07-22
      • 1970-01-01
      相关资源
      最近更新 更多