Ich benutze Firebase. Einige Funktionen, die meine App nicht nutzen kann, waren offline (oder vielleicht kann der Offline-Modus dies in Zukunft machen). So wie ich feststellen kann, war die Verbindung verloren, oder wifi/otherNetwork ist während der Ausführung der Aktivität ausgeschaltet. Ich folge diesem doc aber nur, wenn Start App ... funktioniert nicht auf App ausgeführt. Also, habt ihr keine Lösung für mein Problem?Wie kann ich feststellen, dass die Verbindung unterbrochen wurde?
-3
A
Antwort
0
Mit dieser Methode können die Internet-Verbindung in der App überprüfen:
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
Intent networkStateIntent = new Intent(Constants.NETWORK_AVAILABLE_ACTION);
networkStateIntent.putExtra(Constants.IS_NETWORK_AVAILABLE, isConnectedToInternet(context));
LocalBroadcastManager.getInstance(context).sendBroadcast(networkStateIntent);
}
public boolean isConnectedToInternet(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
//should check null because in airplane mode it will be null
if (netInfo != null && netInfo.isConnected()) {
return true;
} else {
return false;
}
}
die Empfänger in der Manifest-Datei wie folgt registrieren:
<receiver android:name=".utils.NetwrokConnection.NetworkChangeReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
Verwendung dieses Verfahren in der Tätigkeit, wo Sie wollen überprüfen Sie die Verbindung:
public void networkConnection() {
IntentFilter intentFilter = new IntentFilter(Constants.NETWORK_AVAILABLE_ACTION);
LocalBroadcastManager.getInstance(this).registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
boolean isNetworkAvailable = intent.getBooleanExtra(Constants.IS_NETWORK_AVAILABLE, false);
Dialogs.getInstance().showSnackbar(activity,(View) rootlayout, isNetworkAvailable);
}
}, intentFilter);
}
Fügen Sie auch die Berechtigung in der Menifestdatei hinzu:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Verwandte Themen
- 1. UIAlertView anzeigen, wenn die Verbindung unterbrochen wurde
- 2. Wie kann ich feststellen, dass SKSpriteNode berührt wurde
- 3. Was ist die GoogleApiClient-Verbindungswiederholungsrichtlinie, nachdem eine Verbindung unterbrochen wurde?
- 4. Wie kann verhindert werden, dass die Verbindung zurückgesetzt wurde?
- 5. Wie kann ich feststellen, ob die Verbindung gemessen wird?
- 6. Wie kann ich feststellen, ob die Einfügetaste gedrückt wurde?
- 7. NotificationHub in Xamarin-Form: Wie kann ich feststellen, dass die Benachrichtigung gesendet wurde?
- 8. Wie kann ich feststellen, dass die Aktivität vom Benachrichtigungsbereich abgedeckt wurde?
- 9. Wie kann ich feststellen, dass die iPhone App aufgrund einer Push-Benachrichtigung NICHT geöffnet wurde?
- 10. Die Verbindung wurde unterbrochen, während die Seite geladen wurde - Firefox - Firebase - signInWithPopup()
- 11. Wenn ich git diff --name-status ansehe, wie kann ich feststellen, dass eine Datei umbenannt wurde?
- 12. socket.io Die Verbindung zu ws: // wurde unterbrochen, während die Seite geladen wurde
- 13. Wie kann ich feststellen, ob GC.Collect() manuell ausgeführt wurde?
- 14. Wie kann ich feststellen, ob ein Realm erfolgreich aktualisiert wurde?
- 15. Wie zu bestimmen, dass die Eingabe (Stdin) unterbrochen ist?
- 16. Verbindung zu Assetsd wurde unterbrochen oder Assetsd starb
- 17. Wie kann ich feststellen, ob das Benachrichtigungscenter geöffnet wurde?
- 18. Fotos Rahmen: Verbindung zu Assetsd wurde unterbrochen oder Assetsd starb
- 19. Wie kann ich feststellen, ob ein Django QuerySet ausgewertet wurde?
- 20. Wie kann ich feststellen, ob stderr in Windows umgeleitet wurde?
- 21. Wie kann ich feststellen, welches Programm gestartet wurde?
- 22. Wie kann ich feststellen, ob eine Datei umbenannt wurde?
- 23. Wie kann ich feststellen, ob ein `NSManagedObject` gelöscht wurde?
- 24. Wie kann ich feststellen, ob ein StartExecution Limit erreicht wurde?
- 25. tSQLt Wie kann ich feststellen, ob eine Tabelle gefälscht wurde?
- 26. HttpWebRequest & Long Polling: Wie kann ich feststellen, ob eine Long-Polling-Verbindung hergestellt wurde?
- 27. Wie kann ich feststellen, wann CopyDirectoryAsync von Microsoft.WindowsAzure.Storage.DataMovement.TransferManager beendet wurde?
- 28. Anwendungsladeprogramm wartet und die Netzwerkverbindung wurde unterbrochen
- 29. Wie kann ich mit RhinoMocks feststellen, dass eine von mehreren Methoden aufgerufen wurde?
- 30. Wie kann ich feststellen, dass eine bestimmte Methode mit NUnit aufgerufen wurde?