この記事の内容はまだ未検証で、調べたことをまとめただけであるから注意せよ。
Android端末は接続した(E)SSIDがインターネットに出られるか確認する仕組みがある。 特定のエンドポイントへ接続できない場合は、インターネットに接続されていないとみなし、「${SSID}はインターネットに接続できません。」というダイアログを出す。 さらに、周辺に利用可能な(E)SSIDがいる場合、勝手にそちらへ切り替えてしまう。
セキュリティ上の理由などから制限のあるネットワークを構築している場合、この動作が問題になることがある。 Androidが接続確認のために利用するエンドポイントはドキュメントによると以下のようだ。
これらの接続を許可してやれば、問題が解決するかもしれない。(未確認)
Android Enterprise のネットワーク要件 - Android Enterprise ヘルプ
iOS端末も同様の検査の仕組みがあるようだ。
制限のあるネットワークを構築する必要がでたときに役立つかもしれない。