| |||||||
Das Thema "Thread bleibt bei WLAN-Aktivierung hängen" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) | |
| Neuer Benutzer Registriert seit: 26.04.2011
Beiträge: 14
Abgegebene Danke: 0
Erhielt 2 Danke für 2 Beiträge
| ich habe eine App, welche periodisch Daten aus dem Netzwerk lädt. Dies geschieht über einen Thread der sich mittels mHandler.postDelayed immer wieder selber aufruft. Am Anfang des Threads wird mit wifi.isWifiEnabled() geprüft ob das Wlan aktiv ist, ist dies nicht der Fall wird es mittels wifi.setWifiEnabled(true) aktiviert. Dies funktioniert auch, wenn das Wlan aus ist und ich die App starte. Schalte ich allerdings im laufenden Betrieb das Wlan aus, dann bleibt die App oder der Thread hängen (stürzt nicht ab, macht einfach nichts). Logcat sagt dann: Zitat:
Code: wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
networkInfo = cm.getActiveNetworkInfo();
//Integer i = 0;
if (wifi.isWifiEnabled() == true) {
System.out.println("Wifi enabled");
System.out.println(wifi.getWifiState());
} else {
wifi.setWifiEnabled(true);
System.out.println("enabling Wifi, state "
+ wifi.getWifiState());
while (wifi.getWifiState() != 3) {
try {
System.out.println("enabling Wifi, state "
+ wifi.getWifiState());
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} | |
| | |
| | #2 (permalink) |
| Fortgeschrittenes Mitglied Modell: HTC Sensation Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
|
ich vermute, du hast ne endlos-schleife, weil der wifi.getWifiState() nicht aktualisiert wird. schau mal hier, das könnte dir weiterhelfen: ANDROID: if WiFi is enabled AND active, launch an intent - Stack Overflow evtl. reicht dir schon "Please make sure that you've registered the android.net.conn.CONNECTIVITY_CHANGE intent in your Manifest, or else, you'll never receive a notification that you're online." |
| | |
| | #3 (permalink) |
| Neuer Benutzer Registriert seit: 26.04.2011
Beiträge: 14
Abgegebene Danke: 0
Erhielt 2 Danke für 2 Beiträge
|
Die while Schleife war es leider nicht. Also ggf. liegt es auch einfach an meiner Testweise. Ich gehe mit dem Homebutton aus der App und schalte das Wifi aus und gehe dann wieder rein. Jetzt hab ich mal spaßeshalber einen Button eigebaut der das Wlan ausschaltet. Danach funktioniert es dann komischerweise mit dem automatischen wiederaktivieren. Jetzt muss ich nur rauskriegen, ob das auch sonst funktioniert, wenn das Wlan mal weg ist. Edit: Es lag an der eigenen Blödheit ![]() Bei onPause() hab ich die Threadschleife gestoppt und dann natürlich verpennt bei onResume() wieder zu starten. Dadurch ist dann natürlich nichts mehr passiert, nachdem ich das Wlan außerhalb der App ausgeschaltet hatte. Geändert von Nebukad (10.10.2011 um 14:07 Uhr) |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| titanium backup bleibt bei 0% wiederherstellen hängen | Ro Hoe | Titanium Backup | 8 | 22.01.2012 09:32 |
| Defy+ bleibt bei Motorola Logo hängen | LastPigStanding | Root / Hacking / Modding für Motorola Defy+ | 4 | 08.10.2011 23:09 |
| Milestone bleibt bei Boot hängen! | Nickel-Bag | Root / Hacking / Modding für Motorola Milestone | 2 | 20.02.2011 20:50 |
| Kein Fastboot - Bleibt bei Recovery 0.4.4 hängen | ambient | Root / Hacking / Modding für Samsung Galaxy | 5 | 04.03.2010 23:00 |