Android 11 强制门户检测离线场景

问题描述

我的问题:

有没有办法通过连接到没有互联网的强制门户的 Android 11 设备来实现以下任一目的,让用户访问强制网络内的指定网站:

  1. 让设备发送通知以选择设备是否应保持连接。
  2. 让设备像连接互联网一样工作。
  3. 用户可以轻松地告诉设备它应该保持连接状态,而无需了解强制门户或我在本文中谈到的任何内容

我所做的更详细:

我目前正在开发一个没有互联网连接的 Wi-Fi 强制门户。与标准强制门户逻辑并行,其中来自客户端的认 HTTP 探测被拦截重定向到强制门户,我使用 rfc8908rfc8910 中指定的 api 和强制门户标识。访问强制门户页面的所有客户端都会自动解锁,然后被授予访问可从强制网络内部访问的特定网站的权限。 通常,客户端设备连接到 Wi-Fi,强制门户自动或通过用户操作打开,客户端被解锁并重定向到目标网站,所有这些都没有有效的互联网连接。这适用于我用于测试的 iOS,包括 iOS 14 和大多数低于 Android 11 的 Android 设备。Android 11 是出现问题的地方。

当 Android 11 设备连接到网络时,“登录到 Wi-Fi 网络”通知会弹出,点击通知后,会在 android 的强制浏览器中打开强制门户。这是客户端被解锁并重定向到俘虏浏览器内的目标网站的点。 问题是,设备在解锁后仍会在 Wi-Fi 设置选项卡中显示“需要登录”。

应该发生的情况是,包含 '"venue-info-url":"..."' 的捕获 api 响应中的内容应该被打开或至少易于用户访问。在设备从囚禁中解锁后可以上网的情况下,用户会收到“已连接/点击查看网站”的通知,该通知会在常规浏览器中打开目标网站。

这在我的情况下不起作用的原因可能是设备知道它没有活动的互联网连接,并且它希望客户端确认即使没有互联网连接它也应该保持连接到 Wi-Fi。但是设备没有发送任何通知,询问用户是否应该保持连接,直到客户端断开连接并重新连接到 Wi-Fi,因为然后设备从一开始就被解锁,只询问用户设备是否应该保持连接没有互联网。客户端选择留在网络后,打开目标页面

客户端连接到网络并告诉设备即使没有互联网它也应该保持连接的唯一方法是通过强制浏览器内的更多选项(右上角的三个点),这并不是一个很好的选择不知道此选项存在的用户的选项。当用户关闭强制浏览器时,什么也没有发生,设备仍然希望用户登录网络。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)