2012-03-28 7 views
0

Ich streame ein Video mit einer URL. Hier, als ich die Anwendung gestartet habe, habe ich den Netzwerkstatus überprüft, oder als ich in den Status onResume kam, überprüfte ich den Netzwerkstatus. Aber während das Streaming läuft, wird Netzwerkarbeit fehlschlagen. Wie kann ich den Status des Netzwerks überprüfen? Hier bin ich mit diesem Code für die Prüfung der Status ..Überprüfen des Netzwerkstatus beim Ausführen der App in Android

public static boolean isOnline(Context context) { 
    boolean state = false; 
    ConnectivityManager cm = (ConnectivityManager) 
    context.getSystemService(Context.CONNECTIVITY_SERVICE); 

    NetworkInfo wifiNetwork = 
     cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
     if (wifiNetwork != null) { 
       state=wifiNetwork.isConnectedOrConnecting(); 
      } 

     NetworkInfo mobileNetwork = 
     cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 
     if (mobileNetwork != null) { 
      state=mobileNetwork.isConnectedOrConnecting(); 
     } 

     NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); 
     if (activeNetwork != null) { 
      state=activeNetwork.isConnectedOrConnecting(); 
     } 

     return state; 
    } 

von oncreate und orResume Methode, ich diese Methode rief .. Aber wie kann ich den Status von Netzwerk zu finden, während die App läuft.

Vielen Dank im Voraus ...

Antwort

3

Sie einen BroadcastReceiver in Ihrem Activity registrieren können, die die Konnektivität Änderung Sendung empfangen wird. So in der onReceive() Methode, die ausgelöst wird, wenn es eine Änderung in Ihrer Konnektivität sein, werden Sie Maßnahmen zu ergreifen haben:

BroadcastReceiver mNetworkReceiver=new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      //take actions 
     } 
    }; 
    registerReceiver(mNetworkReceiver, 
     new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE")); 

Sie auch die folgende Berechtigung zu Ihrem Manifest hinzufügen müssen:

<uses-permission 
    android:name="android.permission.ACCESS_NETWORK_STATE" />