2013-10-02 5 views
0

Я играю с WiFi Direct на смартфоне Samsung Galaxy S3 и планшете Galaxy. Я могу обмениваться изображениями и файлами между ними с помощью Wi-Fi Direct, либо с помощью встроенного опциона Share или некоторых сторонних приложений. Но то, что мне действительно интересно, - это сделать программную связь в реальном времени между ними.Может ли WiFi Direct подключить устройство к коммуникациям устройства, кроме совместного использования файлов?

Это правда, что приложение для Android может делать любое вид обычного WiFi связь как только у меня есть работающее прямое соединение WiFi? Если да, любые ссылки (в идеале - примерный код) о том, как настроить обычное соединение (например, соединение сокета) с помощью WiFi Direct? Я хочу понять базовый процесс, например, как настроить прямое подключение WiFi в приложении или как получить IP-адрес однорангового устройства.

ответ

3

Да, это можно сделать. вы можете проверить сайт разработчиков Android для получения дополнительной информации. Вот краткий конспект того же:

• Настройка прав доступа:

Следующие разрешения должны быть добавлены в приложение путем модификации

файл манифеста: CHANGE_WIFI_STATE, ACCESS_WIFI_STATE,

и ИНТЕРНЕТ

• Создание Broadcast ресивер и P2P-менеджер

Это делается путем создания следующих классов:

♠ IntentFilter(): проверка изменений в соединениях/сверстниках. * Любая проблема

в связи & изменения в списке пэра должна быть обнаружена здесь

♠ WifiP2pManager(): для управления Wi-Fi одноранговой сети Connectivity

♠ BroadCastReciever(): Базовый класс для кода, который получит намерения

• получение списка пиров:

Инициация открытие Peer, давая вызов discoverPeers() метод

Внедрение PeerListListener. Используйте peerList.getDeviceList() для получения списка

сверстников; и передать его в ArrayList

• Подключение к сверстнику:

Создать WifiP2pDevice объекты, которые будут хранить информацию о каждом p2p

устройство

Instantiate WifiP2pConfig объекта; и скопировать в нее данные из

wifip2pdevice

Подробное описание этого процесса можно узнать здесь: http://developer.android.com/training/connect-devices-wirelessly/wifi-direct.html

Я просто попытался упростить & сократить его.

кроме этого; вы можете использовать традиционное программирование сокетов (UserDatagramSocket или DatagramSocket) для связи. Одно из подключенных устройств предполагает роль владельца группы; и может использоваться как основное устройство.

+0

Спасибо за ответ. Ссылка также очень полезна. – xiaobai

+0

ваш приветствовать. рад помочь :-) – MMss

 Смежные вопросы

  • Нет связанных вопросов^_^