Если кто-то знает лучший способ, я поменяю принятый ответ на его ответ
аюсь запросить сетевые изменения, сделанные в некоторых конкретных сетевых интерфейсах.
Я делаю это, регистрируяBroadcastReceiver
нравится:
<receiver android:name="com.my.app.ReceiverNetworkInterfaceChange">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
И когда есть изменение, он вызывает метод, который запрашивает интерфейсы, используя этот вызов:
final List<NetworkInterface> interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
Я проверял это включением и выключением режима полета. Получатель обнаруживает изменение и его срабатывает.
Проблема заключается в том, что после изменения состояния режима полета не все интерфейсы принимаются отgetNetworkInterfaces()
вызов. Если я вызываю метод напрямую, не задействуя режим полета, список интерфейсов содержит интерфейс с именем «ppp0», но после включения и выключения режима полета вызов не возвращает этот интерфейс «ppp0» в списке, чтобы я мог запросить это ...
Почему это происходит для этого конкретного интерфейса?