NetworkStateReceiver.java (1416B)
1 package de.mtbnews.android.receiver; 2 3 import android.content.BroadcastReceiver; 4 import android.content.Context; 5 import android.content.Intent; 6 import android.net.ConnectivityManager; 7 import android.util.Log; 8 import de.mtbnews.android.service.SubscriptionService; 9 10 /** 11 * Ein Receiver für die Erkennung von Änderungen am Verbindungsstatus. Wenn die 12 * Datenverbindung unterbrochen oder wieder hergestellt wird, wird dieser 13 * Receiver informiert. 14 * <ul> 15 * <li>Wird die Datenverbindung unterbrochen, wird der Hintergrundservice 16 * gestoppt.</li> 17 * <li>Wird die Datenverbindung hergestellt, wird der Hintergrundservice 18 * gestartet.</li> 19 * </ul> 20 * 21 * @author dankert 22 * 23 */ 24 public class NetworkStateReceiver extends BroadcastReceiver 25 { 26 27 /** 28 * {@inheritDoc} 29 * 30 * @see android.content.BroadcastReceiver#onReceive(android.content.Context, 31 * android.content.Intent) 32 */ 33 @Override 34 public void onReceive(Context context, Intent intent) 35 { 36 // Feststellen, ob die Verbindung besteht. 37 final boolean connectionAvailable = !intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false); 38 39 if (connectionAvailable) 40 { 41 // Datenverbindung vorhanden 42 Log.d("IBC", "Connection established, (re-)starting service"); 43 context.startService(new Intent(context, SubscriptionService.class)); 44 } 45 else 46 { 47 // Service wird nicht beendet, sondern der Timer soll weiterlaufen. 48 ; 49 } 50 } 51 }