2015-12-14 2 views
0

Я попытался найти несколько сообщений и вопросов, но все они дают решение для получения маски подсети, и ни один из них не предоставил метод настройки маски подсети с помощью программирования. Любые решения?Как настроить маску подсети в android с помощью программирования

+0

Надежда [Эта ссылка] (http://stackoverflow.com/questions/28283915/android-detect-local-ip-and-subnet-mask-for-wifi-both-while-tethering-and-conn) http : //stackoverflow.com/questions/28283915/android-detect-local-ip-and-subnet-mask-for-wifi-both-while-tethering-and-conn поможет вам – Abhishek

+0

Его только для получения: D –

+0

Попробуйте http://stackoverflow.com/questions/4106502/set-android-ip-dns-gateway-setting-programatically (не уверен, что это все еще работает или нет) – zapl

ответ

0

Предполагаете, вы хотите установить маску подсети сетевых интерфейсов для своего устройства. Это невозможно по соображениям безопасности. Android не позволяет приложениям изменять конфигурацию сети, чтобы предотвратить их злонамеренное поведение.

Когда доступ к корню доступен, можно вызвать команды оболочки из приложения. Для того, чтобы установить IP и маску подсети заданного использования интерфейса:

ip addr add <ip>/<mask-bits> dev <interface>

пример: ip addr add 192.168.3.162/24 dev eth1

установить eth1 IP на 192.168.3.162 с 255.255.255.0 в качестве маски подсети.

+0

Любые другие методы, если я хочу его только на своем телефоне? –

+0

Вам потребуется root-доступ на вашем телефоне, чтобы вызвать команды оболочки. Для примера 'ip addr добавьте 192.168.3.162/24 dev eth1', чтобы установить маску IP и подсети для интерфейса eth1. –

+0

Но вы уверены, что eth1 будет сетевым именем? –

Смежные вопросы