2014-06-26 16 views
6

Zajmuję się tworzeniem aplikacji, która łączy urządzenie OBD2 przez Wifi i aplikacji może odczytać prędkość, obroty silnika, dane temperatury płynu chłodzącego silnika itp. W Android.So wifi służy tylko do łączenia z urządzeniem OBD2 (nie ma możliwości łączenia się z Internetem, tylko do komunikacji) i komunikowania się z nim. Teraz potrzebuję połączenia internetowego dla usług internetowych. Ale po podłączeniu mojego wifi nie jestem w stanie połączyć się z Internetem za pośrednictwem mojej mobilnej sieci danych w Androidzie.Jak Wifi i dane mobilne działają jednocześnie w Androidzie dla urządzenia OBD2

Podobna aplikacja jest również opracowana na iOS. Teraz w systemie iOS mogę korzystać z aplikacji Wifi (ustawienie Static Wifi) i połączenia internetowego z mojej sieci komórkowej. Oznacza to skonfigurowanie mojego Wi-Fi za pomocą statycznego adresu IP. Mogę używać mobilnej sieci danych do połączenia z Internetem w iOS.

Ale w Androidzie, jeśli używam statycznego wifi i sprawdzam połączenie z Internetem, nie jest ono dostępne.

Jak korzystać z połączenia Wi-Fi i Internetu zarówno równolegle, jak i w inny sposób, konfigurując ustawienia Wi-Fi w systemie Android? Każda pomoc będzie doceniona.

+1

to może pomóc http://stackoverflow.com/questions/18394066/android-use-wifi-direct-and-cellular-data-in-app – techloverr

Odpowiedz

2
connectivityManager.requestRouteToHost(ConnectivityManager.TYPE_MOBILE_HIPRI, hostAddress); 

Możesz poprosić o określony adres hosta, który musi używać tego typu połączenia. JEŚLI użyjesz Hipri, to zajmie to sieć komórkową. Ale to może się nie udać! Jeśli to zadziała, wówczas WSZYSTKIE połączenia do tego adresu przejdą przez ten typ łączności.

Może być konieczne najpierw aktywowanie.

int resultInt = connectivityManager.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE, "enableHIPRI"); 

Może to potrwać kilka sekund, ponieważ moduły sprzętowe muszą zostać uruchomione.

Używam tego w kilku projektach i działa świetnie. Na starym urządzeniu takim jak 2.2 będzie reagować naprawdę niestabilnie! Ale nie znaleziono żadnych problemów na wersji 4.0 lub nowszej

+0

Czy mogę korzystać z gniazda WiFi i sieci komórkowej jednocześnie w twoim rozwiązaniu? Faktycznie moim wymaganiem jest użycie obu jednocześnie ... – ArchFever

+0

Tak, możesz! Miałem takie same wymagania. Tylko nie zapomnij zmienić trasy z powrotem. Ludziom się to nie spodoba, jeśli prawdopodobnie zmienisz routing google analytics. W ten sposób każde wezwanie do analizy przejdzie przez sieć danych. Po zakończeniu żądania ikona 3g obok wifi zniknie po około 10 sekundach. –

+0

https://developer.android.com/sdk/api_diff/21/changes/android.net.ConnectivityManager.html Obie metody są obecnie nieaktualne ... – sativa

Powiązane problemy