我使用我的Android设备作为移动网络服务器。我想将通过我的便携式Android热点连接的每个用户定向到特定的wellcome页面。
有人知道如何在我的设备中实现此技术(我相信这称为captive portal技术)?
答案 0 :(得分:11)
我回答了我自己的问题,直到有人分享了一些有关如何在非root设备中实施强制网络门户的有用信息。
目前我不知道这样的解决方案。
强制网络门户通过拦截大多数网络数据包(使用防火墙)工作,无论地址或端口如何,直到用户打开浏览器并尝试访问网络。那时浏览器被重定向到一个网页,可能需要认证等。
因此,对于存在强制门户解决方案,许多部分(如软件防火墙/路由器/网络服务器)需要集成和协作。鉴于目前在非根电话中的限制/权限,我现在认为此类应用程序可能不会存在。
@ mmm2006:但是,如果你做有一个有根设备,那么像Paywall这样的应用就可以为你做到这一点。
您还可以尝试实施自己的强制门户解决方案。它不是微不足道的,但由于Android基于Linux内核,你可以试试这样的东西:
答案 1 :(得分:0)
我不确定在Android设备上执行此操作(我在这里搜索如何禁用android检查以获取captivate),但我在覆盆子pi上设置y
,作为WiFi接入点运行使用dnsmasq
,以便所有流量都将到达设备(然后使用nginx提供默认页面或特定于域的虚拟主机设置)。
这似乎触发我的Android 7.0相信有一个迷人的门户网站(奇怪地指示我到captivate.apple.com,它显示我的默认网址)。
也许这将有助于您评估实现类似功能所需的基础Linux系统组件。对不起,它没有完全回答你的问题。
答案 2 :(得分:0)
Captive Portal现在已在Android 11-API Level 30中引入。 一定要看看新功能。 Captive Portal - API Level 30 - New Feature
答案 3 :(得分:-2)
android处理来自marshmallow的强制门户网站以获取更多详细信息 https://developer.android.com/reference/android/net/CaptivePortal.html
在您的应用启动器活动中添加“android.net.conn.CAPTIVE_PORTAL”意图过滤器