Как запустить локальное сетевое подключение программно через точку доступа Wi-Fi на Android?
Я хочу запустить локальное сетевое подключение, используя встроенную точку доступа Wi-Fi на устройствах Android.
Есть ли способ сделать это?
И как установить связь между двумя устройствами?
EDIT:
Я хочу сделать это программно. Затем я могу передавать свои данные между устройствами.
Ответы
Ответ 1
Я раньше этого не делал, поэтому мой ответ все теоретический.
Я думаю, что вам нужно будет объявить одно устройство сервером и запустить его горячую точку вручную с известным именем.
Запустить/остановить встроенный Wi-Fi/USB-модем из кода? (Согласно этому вопросу вы не можете запускать горячую точку программно).
Как только у вас установлена точка доступа, вы запускаете серверное приложение и ждете входящих соединений. Приложение сервера может показать вам IP-адрес или имя хоста.
На клиентах вы можете выполнить простую проверку и посмотреть, есть ли имя точки доступа и автоматически подключиться к ней, если вы ее найдете. См. Эту ссылку для подключения к сети:
Использование WifiManager для подключения к сети
Что касается вашего второго вопроса, как общаться - вам необходимо установить соединение между устройствами. Для этого вам нужен IP-адрес сервера. Простейшей задачей было бы показать IP-адрес на интерфейсе сервера, а затем вручную ввести его на клиентах и нажать соединить. Затем он установит соединение с сервером на известном порту, и вы можете отправлять сообщения между клиентом и сервером.
Для справки я нашел NanoHttpd, который является веб-сервером для Android. Он использует ServerSocket для прослушивания входящих подключений.
Ответ 2
Возможные ответы:
До ICS и ненастроенных устройств
Невозможно подключиться к устройству через Wi-Fi. API не существует. Bluetooth - ваш лучший вариант или взаимодействие с пользователем.
Перед ICS и корневыми устройствами
Я не уверен, что кто-то взломал код, но когда я попытался сделать автоматическое соединение с Wi-Fi, я заметил:
- Api скрыт внутри SDK.
- Метод, который выполняет соединение, проверяет поток, который его запрашивает. Если это не поток os, он генерирует исключение.
Использование ICS
В ICS есть новый способ подключения устройств через Wi-Fi, называемый Wi-Fi Direct.
Вот ссылка с некоторыми демонстрационными версиями.
Ответ 3
Это поможет начать. link1
Ответ 4
Если вы собираетесь разрабатывать собственное приложение для каждого отдельного терминала (устройств), то я думаю, что для вас программирование сокетов сделает трюк.
Да, поддержка android поддерживает программирование сокетов в том же виде, что и программирование сокетов java.
1 учебник по программированию сокетов java для google, а затем вы можете использовать те же знания в android.
Также не забудьте включить использование разрешения на использование в манифесте, на самом деле это то, что долгое время ели мои мозги:)
Ответ 5
Вы имеете в виду связь между устройствами с поддержкой Wi-Fi без какого-либо сервера, такого как p2p? если так, его wifi direct, который поддерживается в ICS, проверьте это http://developer.android.com/reference/android/net/wifi/p2p/package-summary.html
Перед ICS нет стандартного API андроида для wifi direct, хотя у Galaxy S2 есть wifi direct, он использует проприетарный API, сторонние разработчики которого не могут использовать.
Ответ 6
Я не знаю, как программировать создание локальной сети, но вы можете вручную создать локальную сеть, затем вы можете выполнить java tcp/udp программу, как сказано brianestey
"Что касается вашего второго вопроса, как общаться - вам нужно установить соединение между устройствами. Для этого вам нужен IP-адрес сервера. Простейшей задачей было бы показать ip-адрес на а затем вручную введите его на клиентах и нажмите" Подключиться ". Затем он установит соединение с сервером на известном порту, и вы можете отправлять сообщения между клиентом и сервером".
для ручного подключения выполните шаги
-
принимать настройки/беспроводные сети и портативные настройки Wi-Fi-хот-спота с любого из телефонов
-
создайте новую точку доступа и включите Wi-Fi переносную точку доступа оттуда
-
подключить все другое устройство к этой точке доступа, включая ваш компьютер
-
вы будете получать ip каждого устройства программно (includingig pc, но я не знаю)