Я относительно новичок в программировании для Android/Java, но я пытаюсь ускорить разработку нового приложения для работы.
Я ищу информацию о разработке фрагмента кода Android, который будет показывать мне те же IP-адреса, что и в меню «Настройки», одним щелчком мыши. Я работал с кодом, предоставленным в Как получить IP-адрес устройства из кода?, но этот код не предоставляет тот же IP-адрес, который указан в настройках.
Конечно, приложение генерирует вывод «fe80::eca5:eff:feec:1cba%dummy0», где мои настройки показывают IP-адреса 100.70.247.184 и 2600:100e:b112:249a:4cbe:f0dd:4ceb:55fa. Примечание: я считаю, что «dummy0» — это интерфейс, на который ссылается исходный код. Я думал о попытке поиска по имени интерфейса, чтобы получить IP, но я не уверен, каким будет имя интерфейса.
Вопрос, на который вы ссылаетесь, имеет несколько ответов, которые возвращают разные IP-адреса в зависимости от того, как они его получают. Устройство может иметь несколько адресов, некоторые из которых ему даже неизвестны.
Да, это еще одна причина, по которой я задавался вопросом, есть ли способ получить IP-адрес, предоставленный оператором мобильной связи, на основе имени интерфейса. Есть ли стандарт для Android? Или есть лучший способ сделать это, когда я ищу только IP-адрес, предоставленный оператором?
Мне удалось изменить один из фрагментов кода по ссылке в моем исходном сообщении, чтобы заставить работать IPv4, но IPv6 по-прежнему не предоставляет правильный адрес.
Можете ли вы показать нам, в чем разница между адресами, которые он перечисляет, и теми, которые отображаются в настройках?