Autore Topic: BroadcastReceiver per controllare connessione wireless  (Letto 851 volte)

Offline wino_7

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy s
  • Play Store ID:
    Francesco Di Iorio
  • Sistema operativo:
    Windows 7, Debian
BroadcastReceiver per controllare connessione wireless
« il: 24 Maggio 2012, 10:09:59 CEST »
0
Salve dovrei controllare quando un utente abilita o disabilita la connessione wireless in modo tale da killare un service.
E' possibile farlo?

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:BroadcastReceiver per controllare connessione wireless
« Risposta #1 il: 24 Maggio 2012, 10:15:13 CEST »
0
Si, il servizio che realizzi deve intercettare l'evento ConnectivityManager.CONNECTIVITY_ACTION, che viene lanciato dal sistema ogni qual volta qualcosa sullo stato delle connessioni cambia.

ConnectivityManager javadoc

Offline wino_7

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy s
  • Play Store ID:
    Francesco Di Iorio
  • Sistema operativo:
    Windows 7, Debian
Re:BroadcastReceiver per controllare connessione wireless
« Risposta #2 il: 24 Maggio 2012, 10:31:19 CEST »
0
Ok prefetto, ma a me serve farlo tramite un BroadcastRecevicer.
Infatti ne ho creato uno poi sono andato nel AndroidManifest.xml e :
Codice (XML): [Seleziona]
<receiver android:name=".receiver.WirelessConnectionReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.?????????????????????????????????????" />

                <category android:name="android.intent.category.HOME" />
            </intent-filter>
</receiver>
Eclipse non mi riconosce nessun evento CONNECTIVITY_ACTION.

Io vorrei fare una cosa del genere
Codice (Java): [Seleziona]
public class WirelessConnectionReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {
               
                context.stopService(mioservizio);
               
        }

}

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:BroadcastReceiver per controllare connessione wireless
« Risposta #3 il: 24 Maggio 2012, 10:46:32 CEST »
0
Eclipse non mi riconosce nessun evento CONNECTIVITY_ACTION.

Perché, come riportato dal javadoc del ConnectivityManager, la costante CONNECTIVITY_ACTION corrisponde all'action "android.net.conn.CONNECTIVITY_CHANGE".

Ad ogni modo credo che qui spieghino come fare proprio quello che ti serve con un receiver  :-)

Offline wino_7

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy s
  • Play Store ID:
    Francesco Di Iorio
  • Sistema operativo:
    Windows 7, Debian
Re:BroadcastReceiver per controllare connessione wireless
« Risposta #4 il: 24 Maggio 2012, 10:46:48 CEST »
0
Ho risolto!!!
Codice (Java): [Seleziona]
public class WirelessConnectionReceiver extends BroadcastReceiver {
       
        private final static String LOG_TAG = "MiaApp";

        @Override
        public void onReceive(Context context, Intent intent) {
               
                Log.i(LOG_TAG, "action: " + intent.getAction());
               
        }

}

Codice (XML): [Seleziona]
<receiver android:name=".receiver.WirelessConnectionReceiver" >
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            </intent-filter>
</receiver>

Offline wino_7

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy s
  • Play Store ID:
    Francesco Di Iorio
  • Sistema operativo:
    Windows 7, Debian
Re:BroadcastReceiver per controllare connessione wireless
« Risposta #5 il: 24 Maggio 2012, 10:48:12 CEST »
0
Grazie per la dritta!!!
Ciao ciao.