Haben Sie mit ConnectivityManager
für die Überwachung der Monitoring the Connectivity Status untersucht? Sie können ein Broadcast-Ereignis empfangen, wenn WLAN verfügbar ist, und den Upload fortsetzen/starten.
aus dem Android Docs:
Sie fest, ob Sie eine Internet-Verbindung
ConnectivityManager cm =
(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();
die Art Ihrer Internetverbindung ermitteln
boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;
Monitor für Änderungen in Connectivity
Die ConnectivityManager sendet die CONNECTIVITY_ACTION ("android.net.conn.CONNECTIVITY_CHANGE")
Aktion, wenn die Konnektivität geändert haben. Sie können einen Broadcast-Empfänger in Ihrem Manifest registrieren, um auf diese Änderungen zu warten und Ihre Hintergrundaktualisierungen entsprechend fortzusetzen (oder auszusetzen).
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
Änderungen an ein Konnektivität des Geräts können sehr Viel diese Sendung wird jedes Mal, wenn Sie zwischen mobilen Daten- und Wi-Fi bewegen ausgelöst. Aus diesem Grund sollten Sie diese Übertragung nur dann überwachen, wenn Sie zuvor Updates oder Downloads ausgesetzt haben, um sie fortzusetzen. Es reicht im Allgemeinen aus, vor dem Beginn einer Aktualisierung einfach auf die Internetkonnektivität zu prüfen und, falls keine vorhanden ist, weitere Updates zu sperren, bis die Verbindung wiederhergestellt ist.
Diese Technik erfordert das Umschalten von Broadcast-Empfängern, die Sie im Manifest deklariert haben, was in der nächsten Lektion beschrieben wird.
Hier ist eine andere gute Quelle:
http://www.grokkingandroid.com/android-getting-notified-of-connectivity-changes/