android - 从 Android 的强制门户浏览器 (CaptivePortalLogin) 启动默认浏览器

标签 android mobile wifi captivenetwork

在 Android 设备上,我们的强制门户在 Android 的强制门户浏览器中启动。身份验证后,我们将用户重定向到状态页面,在那里他们可以看到他们的 session 信息、剩余时间和数据等。大多数用户选择保持此页面打开。

问题是状态页面重定向发生在 Captive Portal 浏览器中,最终将关闭。有什么方法可以在 Captive Portal 浏览器中的“完整”浏览器中打开状态页面?

大部分相关的 Android 代码似乎都在 CaptivePortalLoginActivity.java 中。 mBrowserBailOutToken 变量看起来很有趣,但我看不出我们如何获得 token 。

对于如何处理此类情况的任何其他想法也将不胜感激。

最佳答案

我认为这是不可能的。

mBrowserBailOut 变量是 set to a random number因此,您无需更改即可从强制门户页面中了解该内容。

仅当重定向 URL contains this variable它救了出来。

变量用于 SSL error 的情况。 ,所以如果你有这样的,它会提示用户使用默认浏览器。

编辑:我的意思是有趣的是,只有 URL has to contain the token somewhere .所以理论上你可以组成一个包含所有可能标记的 URL。

Long.MAX_VALUE is 9,223,372,036,854,775,807.

因此,适合 URL 的可能性太多了,尽管较小的数字已经包含在较大的数字中。

关于android - 从 Android 的强制门户浏览器 (CaptivePortalLogin) 启动默认浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34478220/

相关文章:

android - 是否可以在 Google+ API 中阅读所有传入的互动帖子?

仅 Android 状态栏图标

android - 如何更改 RNGoogleSigninButton 的文本?

桌面版和移动版 Javascript 差异

iphone - 圈养网络 : CNSetSupportedSSIDs usage

android - 以编程方式调用硬件后退按钮?

javascript - 在浏览器中检测手机的最简单方法

ios - 是否可以通过捕获 QR-Code 自动连接到 WiFi?

android - 在android中实现ssid和bssid

android - 如何判断 Android 设备是否能够提供位置?