Não está recebendo todas as interfaces de rede de um dispositivo Android
Estou tentando consultar alterações de rede feitas em algumas interfaces de rede específicas.
Estou fazendo isso registrando umBroadcastReceiver
como isso:
<receiver android:name="com.my.app.ReceiverNetworkInterfaceChange">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
E quando há uma alteração, ele dispara um método que consulta as interfaces usando esta chamada:
final List<NetworkInterface> interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
Eu tenho testado ativando e desativando o modo avião. O receptor detecta a alteração e é acionada.
O problema é que, após alterar o status do modo avião, nem todas as interfaces são recebidas dogetNetworkInterfaces()
ligar. Se eu chamar o método diretamente sem envolver o modo avião, a lista de interfaces conterá uma interface chamada "ppp0", mas depois de ativar e desativar o modo avião, a chamada não retornará a interface "ppp0" na lista para que eu possa ' t consultá-lo ...
Por que isso está acontecendo para essa interface específica?