Jak mogę wysłać plik bezprzewodowo bez połączenia Bluetooth lub sieci Wi-Fi w ICS?

24

Wiem, że jedną z nowych funkcji jest WiFi-direct dla ICS (odnotowane na samym dole strony w linku). Czy istnieje sposób na wykorzystanie tej nowej funkcji do przesyłania plików z jednego urządzenia ICS na drugie?

Byłoby to przydatne, ponieważ prędkości Wi-Fi byłyby większe niż Bluetooth i nie trzeba być podłączonym do sieci Wi-Fi ani tworzyć hotspotu.

Samsung Galaxy S II najwyraźniej ma tę funkcję wbudowaną w pre-ICS (idź na Samsung!). Czy ta sama metoda jest dostępna w ICS? Czy jest na to aplikacja?

EDYCJA: Ponieważ ogniwo galaktyki jest wykonane przez Samsunga i jest obecnie jedynym urządzeniem z ICS, nie jestem pewien, czy to udostępnianie „WiFi Direct” (według linku i odpowiedzi Ryana poniżej) jest wbudowane w wannę ICS ( W końcu Samsung miał udostępnianie WiFi Direct przed ICS).

Jako taki, dodałem tag waniliowy, więc pytam, czy jest w waniliowym kodzie źródłowym, aby umożliwić użytkownikom udostępnianie plików za pomocą WiFi Direct? Jeśli nie, czy jest na rynku odpowiednia aplikacja? Chcę wiedzieć, jak to zrobić na wszystkich telefonach ICS, niekoniecznie tylko na ogniwie galaktycznym.

Jan
źródło

Odpowiedzi:

23

Android 4.0 wprowadza WiFi Direct do rdzenia Androida. w zasadzie tworzy połączenie adhoc między jednym urządzeniem a drugim za pomocą Wi-Fi, tworząc, jak sądzę, punkt dostępowy. Nie potrzebujesz punktu dostępu do Wi-Fi, aby korzystać z WiFi Direct, a jeśli połączenie z Wi-Fi zostanie włączone po włączeniu Wi-Fi bezpośrednio, nastąpi rozłączenie. Nie można połączyć się zarówno z punktem dostępowym, jak i bezpośrednio włączyć Wi-Fi.

Urządzenie hosta działa jako punkt dostępu dla innych urządzeń, z którymi można się połączyć, a następnie poprzez inne oprogramowanie, pliki i inne dane mogą być udostępniane lub przesyłane strumieniowo do urządzeń klienckich.

Aby korzystać z Wifi Direct, settings -> wireless & networksmusisz go włączyć. Następnie powinieneś mieć opcję „udostępniania” przez Wi-Fi. Działa to podobnie do udostępniania Bluetooth, gdzie drugie urządzenie musi być „gotowe do zaakceptowania” plików. Będziesz mógł korzystać z Wi-Fi bezpośrednio tylko z urządzeniami, które mają wyraźne wsparcie dla Wi-Fi direct. Android 4.0 to pierwsza wersja systemu operacyjnego, która ma wbudowane wsparcie dla Wi-Fi direct. Samsung Galaxy S II również obsługuje bezpośrednie Wi-Fi. To była funkcja dodana przez Samsunga do wersji Androida TouchWiz. Chociaż jego ustawienia są nieco inne niż w Androidzie 4.0, w zasadzie działają tak samo.

Istnieją inne urządzenia, takie jak niektóre telewizory Sony, które również mają bezpośrednie wsparcie Wi-Fi.

Wifi Direct nie jest specyficzny dla sprzętu, jest częścią systemu operacyjnego. Jeśli urządzenie obsługuje Wi-Fi, obsługuje to. Jest częścią systemu operacyjnego CORE w Androidzie 4.0. To urządzenie będzie działać z dowolnym urządzeniem, które ma Wi-Fi i działa na ICS. Niektóre urządzenia Samsung (myślę, że tylko Galaxy S 2) mają bezpośrednią obsługę Wi-Fi, nawet jeśli nie obsługują ICS. Jest tak, ponieważ Samsung dodał obsługę tego w swojej wersji Androida.

Chociaż Galaxy Nexus jest produkowany przez Samsunga, nie obsługuje zmodyfikowanej wersji Androida Androida. Działa pod kontrolą systemu Android w wersji „Google Experience”. WiFi Direct, które istnieje w Samsung Galaxy S II, jest inne niż to wbudowane w Android 4.0.

Oto dokumentacja Androida SDK, która mówi o wsparciu.

Wi-Fi Direct pozwala urządzeniom z Androidem 4.0 (API poziom 14) lub nowszym z odpowiednim sprzętem łączyć się bezpośrednio ze sobą przez Wi-Fi bez pośredniego punktu dostępu. Korzystając z tych interfejsów API, możesz odkrywać inne urządzenia i łączyć się z nimi, gdy każde urządzenie obsługuje Wi-Fi Direct, a następnie komunikować się przez szybkie połączenie na odległość znacznie dłuższą niż połączenie Bluetooth. Jest to przydatne w aplikacjach, które współużytkują dane między użytkownikami, takich jak gra wieloosobowa lub aplikacja do udostępniania zdjęć.

Oto zrzut ekranu (z tego filmu ) pokazujący bezpośrednie ustawienie Wi-Fi dostępne na Nook Color z uruchomionym CM9. Film znajduje się w miejscu, w którym pokazuje bezpośrednią pracę Wi-Fi. nook color / cm9 / wifi direct

inny strzał

Oto 2 zrzuty ekranu z mojego viewsonicznego g-tableta z systemem ICS (to nie jest CM9 Kang, to waniliowy AOSP Android). Pierwszy pokazuje ustawienie, drugi pokazuje, że go włączyłem. wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

Aby pokazać, że WiFi Direct jest faktycznie częścią rdzenia Androida, a nie tylko CM9, oto kod źródłowy ustawień WiFi Direct . To jest lustro github AOSP. Możesz to również porównać do źródła CM9 .

Ryan Conrad
źródło
Tylko jedna głowa - zredagowałem pytanie, aby bezpośrednio zadać pytanie, jak przesłać pliki za pomocą Wi-Fi Direct.
Mateusz
1
Poprawiłem swoją odpowiedź, aby, mam nadzieję, wyjaśnić, jak korzystać z Wi-Fi bezpośrednio.
Ryan Conrad
1
Nie mogę znaleźć czegoś takiego jak „Wifi Direct” w ustawieniach -> sieć bezprzewodowa i sieci.
offby1
4
mój tablet nie działa CM9, działa VANILLA AOSP Android. Ale tutaj jest kod cyjanogenowy, a tutaj jest kod Androida . Oni są tacy sami.
Ryan Conrad
2
@RyanConrad Czy masz odniesienie do stwierdzenia, że ​​WiFi Direct nie jest zależne od sprzętu? Nexus S z waniliowym ICS nie ma włączonej tej funkcji. Motorola Xoom w waniliowym ICS również nie ma tej funkcji. Kod może tam być, ale jestem prawie pewien, że istnieje jakaś zależność sprzętowa, lub wszystkie urządzenia ICS to zrobiłyby.
davidbb
1

W kodzie źródłowym znajduje się odniesienie do tej funkcji, ale o innej nazwie: WifiP2P. Właśnie przeszukałem GrepCode i znalazłem pakiet android.net.wiki.p2p .

Sam Wifi Direct znajduje się w com.example.android.wifidirect , więc nie sądzę, że jest koniecznie zawarty w waniliowych systemach operacyjnych, to tylko przykład, jak korzystać z Wifi P2P API. Ktoś z większym doświadczeniem w źródle Androida może wiedzieć lepiej.

onik
źródło
jest zawarty w waniliowym Androidzie. Mam zainstalowany ICS na moim viewsonic gtablet i wypróbowałem go z przyjacielem, który ma ogniwo galaktyczne. Podobny do wysłanego przez Ciebie wifidirect jest przykładowy kod integracji innych aplikacji z protokołem w celu uruchomienia zamiarów wchodzących w skład systemu operacyjnego.
Ryan Conrad
-3

W przypadku użytkowników Samsung G-Note (prawdopodobnie także użytkowników SII i SIII) przejdź do Ustawień, a następnie w sekcji Sieci zwykłe i bezprzewodowe wybierz Więcej ... zobaczysz tam opcję.

RobC
źródło
Pytanie dotyczy standardowego ICS i nie dotyczy tego, czy możesz włączyć WiFi-Direct, ale czy możesz go użyć do udostępniania plików.
Raghd Hamzeh,