Captive portal without internet and Android

Hi, i have this situation:

I used a mikrotik routerboard for easy captive portal and she redirect users to an external webserver that offer offline functions (like video, description etc…).
The problem is:
Windows, IOS, and Linux works fine with this method, if you connect to wifi a popup with the content of webserver appear without problem, Android no…
In Android you connect to wifi and after few seconds it say “No internet connection avaible” no popup/captive portal detected (In some phone facebook messenger detect captive portal but the android system not).

If i connect the routerboard to internet Android start to working!!! But my implementation of this system is designed for working only without internet.
Please you can tell me if there is a workaround for Android or a way to do this?

There are documents on internet how the captive portal detection works, using servers on internet.
It is different for all those systems.
Maybe you can emulate enough of the google environment to make it work (e.g. a DNS server at 8.8.8.8 and some webserver at a domain name).
But of course it could fall apart at any moment due to more changes in those detection protocols…

Ok but i cant understand this:
If captive portal is active all request to webpage is redirect to login page, why android need internet to detect this if the captive portal in theory block all web traffc?

Its not the hotspot that has the issue. on android there is an “internet check” that it does (goes to some site to se if it responds on connection). The only way get around this is for the mikrotik to spoof the web address that its looking for.

you can try wireshark and see what the android is trying to get to and maybe just put an entry in the dns of the mikrotik to resolve to the something local…

Hope this helps

For example, try to add the DNS name clients3.google.com to the DNS server with an invalid address or the address of the router itself and see if that changes anything.
Also add 8.8.8.8/24 as a second address of the router.
…etc etc etc