Android 4.0 представляет WiFi Direct в ядре Android. он в основном создает временное соединение между одним устройством и другим с помощью Wi-Fi, создавая то, что, я думаю, можно считать точкой доступа. Вам не нужна точка доступа Wi-Fi, чтобы использовать WiFi Direct, и на самом деле, если вы подключены к Wi-Fi при включении WiFi Direct, он отключит вас. Вы не можете подключиться к точке доступа и включить Wi-Fi Direct.
Хост-устройство действует как точка доступа, к которой другие устройства могут подключаться, а затем через другие части программного обеспечения файлы и другие данные могут быть переданы или переданы на клиентское устройство (устройства).
Чтобы использовать Wifi Direct, settings -> wireless & networks
вы должны включить его. Тогда вы должны иметь возможность «поделиться» через Wi-Fi. Это очень похоже на совместное использование Bluetooth, когда другое устройство должно быть «готово» принять ваши файлы. Вы сможете использовать Wi-Fi Direct только на устройствах, которые имеют явную поддержку Wi-Fi Direct. Android 4.0 является первой версией ОС, которая имеет встроенную поддержку Wi-Fi Direct. Samsung Galaxy S II также поддерживает Wi-Fi Direct. Это была дополнительная функция, которую Samsung добавила в свою версию Android для TouchWiz. Хотя настройки для него немного отличаются от Android 4.0, они в основном работают одинаково.
Есть другие устройства, такие как некоторые телевизоры Sony, которые также имеют прямую поддержку Wi-Fi.
Wifi Direct не зависит от аппаратного обеспечения, это часть ОС. Если устройство поддерживает Wi-Fi, то оно поддерживает это. Это часть ОС CORE в Android 4.0. С любым устройством, которое имеет Wi-Fi и работает ICS, это будет работать. Некоторые устройства Samsung (я думаю, что только Galaxy S 2) имеют поддержку Wi-Fi Direct, хотя они не работают под управлением ICS. Это связано с тем, что Samsung добавила поддержку этого в свою версию Android.
Хотя Galaxy Nexus производится Samsung, он не работает под управлением модифицированной версии Samsung для Android. Он работает полностью "Google Experience" версия Android. Прямой WiFi, который существует на Samsung Galaxy S II, отличается от встроенного в Android 4.0.
Вот андроид SDK документы, которые говорят о поддержке.
Wi-Fi Direct позволяет устройствам Android 4.0 (уровень API 14) или более поздней версии с соответствующим оборудованием подключаться друг к другу напрямую через Wi-Fi без промежуточной точки доступа. Используя эти API, вы можете обнаруживать и подключаться к другим устройствам, когда каждое устройство поддерживает Wi-Fi Direct, а затем обмениваться данными по быстрому соединению на расстояниях, намного превышающих соединение Bluetooth. Это полезно для приложений, которые обмениваются данными между пользователями, таких как многопользовательская игра или приложение для обмена фотографиями.
Вот снимок экрана (взятый из этого видео ), показывающий настройку Wi-Fi, доступную на Nook Color с CM9. Видео находится в том месте, где он показывает Wi-Fi прямой работы.
Вот 2 скриншота с моего g-планшета viewsonic, работающего под управлением ICS (это не CM9 Kang, а ванильный AOSP android). Первый показывает настройку, второй показывает, что я его включил.
Чтобы показать, что WiFi Direct на самом деле является частью ядра Android, а не только CM9, вот исходный код настроек WiFi direct . Это github зеркало AOSP. Вы можете сравнить его с источником CM9 тоже.
На рынке Android появилось новое приложение под названием FileBeam, которое позволяет передавать файлы Beam DropBox с Android на Android. Может быть, это тоже может вам помочь;) https://play.google.com/store/apps/details?id=com.filebeamapp.android
источник
В исходном коде есть ссылка на функцию, но с другим именем: WifiP2P. Просто сделал поиск в GrepCode и нашел пакет android.net.wiki.p2p .
Сам Wifi Direct находится в com.example.android.wifidirect , поэтому я не думаю, что он обязательно включен в ванильные ОС, это всего лишь пример того, как использовать Wifi P2P API. Кто-то с большим опытом в Android-источнике может знать лучше.
источник
Для пользователей Samsung G-Note (возможно, также пользователей SII и SIII) перейдите в «Настройки», затем в разделе «Беспроводные сети и сети» выберите «Подробнее ...», и вы увидите там вариант.
источник