Po wykonaniu tej linii:Android WifiManager Temat nie wyłącza
WifiManager man = ((WifiManager) ctx.getSystemService(Context.WIFI_SERVICE));
Wątek oznaczony "WifiManager" pojawi się. W pliku źródłowego Java dla WifiService.java line 203:
HandlerThread wifiThread = new HandlerThread("WifiService");
wifiThread.start();
mWifiHandler = new WifiHandler(wifiThread.getLooper());
Problem polega na tym, za każdym razem nasza aplikacja jest zamknięty i ponownie tworzy nowy wątek, uruchom go 5 razy i masz 5 wątków. Nie jesteś pewien, czy tak jest, aby to zatrzymać?
EDIT
Zmieniono getApplicationContext aby upewnić się, że kontekst było dostępu było zgodne i wszystko było dobrze. Nadal mam wątek oznaczony "WifiService", ale otrzymuję tylko jeden wątek w wielu seriach.
Czuję, że twoim prawdziwym problemem jest to, że masz problemy z kontekstem, więc nie odpowiem. Ale jeśli chcesz zhackować sobie drogę przez ten problem, możesz znaleźć swój wątek przez [dostanie] (http://stackoverflow.com/questions/1323408/get-a-list-of-all-threads-currently-running-in -java) tablicę wątków ze stosu, a następnie wyszukiwanie przez thread.getName() jest równe "WifiService", ponieważ ThreadHandler rozszerza wątek. Następnie wykonaj coś w stylu [this] (http://stackoverflow.com/questions/1323408/get-a-list-of-all-threads-currently-running-in-java). – shibbybird
Kto jest właścicielem wątków, które widzisz? Czy mają ten sam identyfikator użytkownika i procesu, co twoja aplikacja lub proces systemowy? Czy patrzysz na to na konkretnym urządzeniu lub emulatorze? Czy "zamknięty i ponownie otwarty" oznacza przejście do BACK/HOME i otwarcie, czy Force Stopping the process? Jeśli pierwszy, co się dzieje, gdy robisz to drugie? – Devunwired
wygląda jak wada: http://code.google.com/p/android/issues/detail?id=43006 – user1159819