我正在构建一个Twitter应用,打开一个网页,允许有人授权我的应用。一旦用户验证了站点,就会出现此问题。它将我返回到我的URL,我想从中关闭浏览器窗口以返回到我的原生应用程序。我尝试过以下操作,但浏览器窗口仍然打开:
<script>
window.close();
window.self.close();
</script>
用户目前必须返回主屏幕并再次找到我的应用程序。
是否有javascript可以将用户返回到我的应用程序?
谢谢!
答案 0 :(得分:3)
您应该在自己的应用程序中使用WebView,而不是使用浏览器应用程序登录,因为您无法关闭它。
在其中创建一个登录活动,其中包含加载Twitter登录页面的WebView。为该WebView实现自定义WebViewClient,覆盖onPageFinished方法并检查URL参数是否等于您的登录重定向目标URL。从URL或页面中解析出访问令牌(我不知道具体的技术细节,对不起)。
然后,您可以将访问令牌存储在应用程序专用数据库或首选项文件中,最后完成登录活动,这将使您返回到上一个。
旁注:你应该在&lt; script&gt;中指定type =“text / javascript”参数。否则这些标签可能会被忽略,具体取决于浏览器。