BroadcastReceiver for CONNECTIVITY_ACTION sempre retorna nulo em intent.getExtras ()
Estou tentando receber BroadcastMessages de CONNECTIVITY_ACTION:
// register BroadcastReceiver on network state changes
final IntentFilter mIFNetwork = new IntentFilter();
mIFNetwork.addAction(android.net.ConnectivityManager.CONNECTIVITY_ACTION); //"android.net.conn.CONNECTIVITY_CHANGE"
registerReceiver(mIRNetwork, mIFNetwork);
e o receptor é:
private BroadcastReceiver mIRNetwork = new BroadcastReceiver() {
@Override
public void onReceive(final Context context, final Intent intent) {
android.util.Log.i(TAG,"mIRNetwork: Network State Received: "+intent.getAction());
Bundle extras = intent.getExtras();
if (extras!=null){
android.util.Log.i(TAG,"mIRNetwork: ACTION_BACKGROUND_DATA_SETTING_CHANGED: "+extras.getString(ConnectivityManager.ACTION_BACKGROUND_DATA_SETTING_CHANGED));
android.util.Log.i(TAG,"mIRNetwork: CONNECTIVITY_ACTION: "+extras.getString(ConnectivityManager.CONNECTIVITY_ACTION));
android.util.Log.i(TAG,"mIRNetwork: EXTRA_EXTRA_INFO: "+extras.getString(ConnectivityManager.EXTRA_EXTRA_INFO));
android.util.Log.i(TAG,"mIRNetwork: EXTRA_NO_CONNECTIVITY: "+extras.getString(ConnectivityManager.EXTRA_NO_CONNECTIVITY));
android.util.Log.i(TAG,"mIRNetwork: EXTRA_REASON: "+extras.getString(ConnectivityManager.EXTRA_REASON));
}
}
em pequenos extras é sempre nulo. Eu pensei que, se eu perder a conexão Wi-Fi, deveria obter EXTRA_NO_CONNECTIVITY (porque é o único caminho para a Internet) ou pelo menos algo da lista. Mas sem sorte. Se eu desconectar meu receptor WiFi AP, ele recebe a mensagem dele, mas com extras nulos. Quando ligo meu WiFi novamente, o receptor dispara, mas não há extras ... Por que isso? Como saber que o aplicativo perdeu qualquer conexão de rede? Eu pensei que era o caminh