Создайте точку доступа к локальной сети на устройстве Android (Интернет не нужен)

Мне нужно реализовать следующую функциональность:

  • Приложение должно программно сделать устройство Android сервером локальной сети (т. Е. Другие устройства должны иметь возможность подключаться к сети, созданной приложением, по беспроводной сети, например, к точке доступа Wi-Fi, но не к Интернету).

  • Приложение должно иметь возможность регистрировать устройства, подключенные к сети приложения.

  • Сеть приложения должна быть защищена паролем


Возможно ли реализовать такую ​​функциональность? В настоящее время мне удалось настроить веб-сервер на устройстве только с помощью nanohttpd, но это не тот путь, который мне нужен. Я читал несколько похожих вопросов по SO, но либо не понимал концепции, либо просто не мог найти подходящий ответ.

Если это возможно, как мне это реализовать? Что-нибудь, что я мог прочитать о решении подобной проблемы? Или, может быть, кто-то уже сталкивался с чем-то подобным и имеет некоторый опыт решения такой задачи?

Любая помощь очень ценится.

1 ответ

Решение

Звучит так, будто вы ищете Wi-Fi direct. Использование WifiP2PManager.createGroup() позволит устройству выступать в качестве беспроводного маршрутизатора, если хотите, позволяя другим устройствам подключаться к нему, как если бы они подключались к Wi-Fi.

Имейте в виду, что вы не сможете подключиться к сигналу Wi-Fi устройства без случайной фразы-пароля, сгенерированной устройством. Вы можете найти ключевую фразу, вызвав WifiP2PManager.requestGroupInfo() и передав GroupInfoListener. Вызов getPassphrase() для WifiP2PGroup.

Другие вопросы по тегам