2011-08-16 11 views
6

Jestem w rozpaczliwej potrzebie rozwiązania tego problemu, z jakiegoś powodu na innym urządzeniu, na którym przetestowałem aplikację bluetooth, kiedy zamykam aplikację (onDestroy()) i ponownie to połączenie Bluetooth nie działa. Jedynym rozwiązaniem w tej chwili jest wyłączenie i włączenie bluetooth dla urządzenia.Aplikacja na Androida nie wypuszcza poprawnie Bluetootha przy wyjściu

Kod, którego używam, jest mniej więcej próbką bluetoothchat dla Androida. Tworzę połączenia 2-bitowe z wcześniej wybranym urządzeniem.

Następnie komunikuję się z tymi gniazdami za pomocą strumienia wejściowego i wyjściowego.

Kiedy moja aplikacja jest zniszczona - zamykam gniazda wejściowe i wyjściowe i bluetooth, a nawet zabijam proces (znalazłem tu jakiś kod), ale kiedy wracam do aplikacji, połączenie się nie udaje.

Czy ktoś może zaoferować pomoc z tego, co powiedziałem do tej pory? Mój kod jest w tej chwili całkiem sporo, więc nie wiedziałbym, co wkleić, ale połączenie bt jest zasadniczo przy użyciu klas z próbki, a następnie przekazanie tych utworzonych gniazd do moich innych klas.

góry dzięki

+0

Czy możesz dodać fragmenty kodu do swojego pytania? Szczególnie to, co robisz w onDestroy() i jak inicjujesz bluetooth w onCreate(). Może powinieneś zrobić to w onResume()/onPause() zamiast? – grzaks

+0

Proszę zaksięgować wynik logcat nieudanego połączenia. –

Odpowiedz

3

Najlepszym sposobem korzystania onDestroy jest w następujący sposób nadzieję, że robią coś podobnego.

@Override 
protected void onDestroy() { 
    if (localBT != null) { 
    localBT.close(); 
    } 
    super.onDestroy(); 
} 
0

Jak wspomniał Gaks, Twój problem może obejmować onResume()/onPause(). Czy jesteś absolutnie pewien, że twoje oczyszczenie w trybie onDestroy jest wywoływane (jak w, czy logujesz się i/lub oglądasz logcat)?

Jeśli Twoja aplikacja nie jest trwała, lepiej wykonać czyszczenie, gdy aplikacja nie będzie już używana (onPause).

Ponadto, jeśli masz dwa połączenia, czy jest coś specjalnego, co musisz zrobić, aby je zamknąć? Po prostu zgaduję na ten temat.

Powiązane problemy