Как получить IP-адрес шлюза по умолчанию * надежно * на Android 5+? - PullRequest
2 голосов
/ 05 мая 2020

Как я могу получить IP-адрес шлюза по умолчанию в сети, к которой подключено мое Android устройство?

Я понимаю, что об этом уже спрашивали раньше на SO, но ни одно из найденных мной решений не является достаточно надежным:

  • Большинство решений рекомендуют использовать DHCPInfo, но что, если мое устройство не использует DHCP?
  • Некоторые рекомендуют получить DNS-сервер, но вы можете переопределить DNS-серверы в настройках WiFi-соединения.
  • Я мог бы взять внутренний IP-адрес устройства (например, 192.168.0.2) и заменить последний октет на a 1, потому что это обычно IP-адрес шлюза по умолчанию. Но не всегда, особенно если шлюзом является другой телефон Android (на основе моих тестов на Pixel 2, например, точка доступа WiFi присвоит себе случайный IP-адрес в диапазоне 192.168.43.0/24).

Я могу надежно получить IP-адрес для шлюза по умолчанию на Linux, запустив route -n. Есть ли надежный способ получить его на Android 5 +?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...