1

我正在构建一个 Twitter 应用程序,该应用程序打开一个网页以允许某人授权我的应用程序。一旦用户对站点进行了身份验证,就会出现问题。它让我回到我的 url,我想从那里关闭浏览器窗口以返回我的本机应用程序。我尝试了以下方法,但浏览器窗口仍然打开:

    <script>
      window.close();
      window.self.close();
    </script>

用户目前必须返回主屏幕并再次找到我的应用程序。

是否有 javascript 可以将用户返回到我的应用程序?

谢谢!

4

1 回答 1

3

为此,您应该在自己的应用程序中使用 WebView,而不是使用浏览器应用程序登录,因为您无法关闭它。

创建一个登录活动,其中包含一个加载 Twitter 登录页面的 WebView。为该 WebView 实现自定义 WebViewClient,覆盖onPageFinished方法并检查 URL 参数是否等于您的登录重定向目标 URL。从 URL 或页面解析访问令牌(我不知道这里的确切技术细节,抱歉)。

然后,您可以将访问令牌存储在应用程序私有数据库或首选项文件中,最后完成登录活动,这将使您回到上一个活动。

附带说明:您应该在 <script> 标签中指定 type="text/javascript" 参数,否则这些标签可能会被忽略,具体取决于浏览器。

于 2012-06-25T23:07:01.040 回答