Подтвердить что ты не робот

Как запустить локальное сетевое подключение программно через точку доступа Wi-Fi на Android?

Я хочу запустить локальное сетевое подключение, используя встроенную точку доступа Wi-Fi на устройствах Android. Есть ли способ сделать это? И как установить связь между двумя устройствами?

EDIT: Я хочу сделать это программно. Затем я могу передавать свои данные между устройствами.

4b9b3361

Ответ 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, но я не знаю)