Ich versuche zu testen/zu implementieren verlorenen Netzwerk Anwendungsfall. Ich habe Code wie unten erwähnt.android Connectivity_Change broadcastreceiver nicht konsequent aufgerufen
Ich laufe es auf Galaxy S6. Ich habe sowohl mobile Daten als auch WLAN aktiviert.
Netzwerk zu deaktivieren, Ich schalte "Flugzeugmodus"
Mein Problem ist:
Wenn ich App von Android Studio Relaunch, ich ConnectionChangeReceiver.onReceive()
genannt bekommen. Jedoch, nach wenigen Flugmodus ein-/ausschalten, bekomme ich nicht onReceive()
genannt.
Ich setze Breakpoint im Studio um zu überprüfen, ob es angerufen wird oder nicht.
Fehle ich etwas?
public class ConnectionChangeReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
// get Connectivity Manager object to check connection
ConnectivityManager connectivityManager =(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
// Check for network connections
if (activeNetInfo != null && activeNetInfo.isConnected()) {
Intent newintent = new Intent(BroadcastedIntentFilters.INTERNET_CONNECTED);
LocalBroadcastManager.getInstance(context).sendBroadcast(newintent);
}
}
}
In Manifest-Datei
<receiver
android:name=".Network.ConnectionChangeReceiver"
android:exported="true"
android:label="NetworkConnection" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.STATE_CHANGE"/>
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
für jetzt sieht es so aus. Ich teste noch und werde Fragen stellen, wenn ich Probleme sehe. – GJain