Android Wifi Direct: предотвращение принятия пользователем при подключении к известному партнеру
При подключении к одноранговому узлу с использованием WiFi Direct требуется разрешение пользователя. Я знаю, что соединение не может быть сделано без пользователя, никогда не дающего разрешения, и там есть запрос функции для такого рода функций:
https://code.google.com/p/android/issues/detail?id=30880
Но мне эта функция не нужна, прошение разрешения на первое подключение в порядке (также более безопасно). Существует ли какой-либо метод, чтобы разрешение было запрошено только в первый раз? И когда вы пытаетесь подключиться к одному узлу позже, разрешение не требуется.
Ответы
Ответ 1
Из спецификации P2P мы можем найти что-то, называемое "постоянная группа P2P", которая предназначена для восстановления группы без вмешательства пользователя.
В устойчивой группе P2P владелец группы сохраняет учетные данные группы, чтобы группа могла быть восстановлена в будущем по запросу любого члена группы без необходимости вмешательства пользователя.
Такая группа может быть сформирована путем указания постоянной при подключении с использованием командной строки (см. P2P wpa_supplicant
и поиск команды p2p_connect
https://android.googlesource.com/platform/external/wpa_supplicant_8/+/ics-plus-aosp/wpa_supplicant/README-P2P). Но я не знаю, доступна ли опция с текущими устройствами.
Изменить:
См. Ответ на вопрос Могу ли я изменить владельца группы в постоянной группе в Wi-Fi Direct?
Поскольку я работал с Wi-Fi Direct на Ubuntu, я использовал wpa_cli
(который поставляется вместе с wpa_supplicant
) для создания постоянной группы, указанной в файле p2p_readme
.
Ответ 2
Ближе всего иметь функции Wi-Fi Direct без подсказки, которыми я управлял, это использовать Service Discovery в сочетании с унаследованным режимом, то есть когда предполагается соединение, вы не используете WifiP2pManager.connect(), но WifiManager.enableNetwork().
Я являюсь автором очень простого стека P2P, который автоматизирует все магию, вы можете проверить пример на https://github.com/croconaut/wifon-mini на как хорошо/плохо работает (плюс некоторые документы).
Ответ 3
К сожалению, не в это время. Возможно, в будущем, или если вы напишете свое собственное ПЗУ.
Ответ 4
Я использую два HTC One V, а также HTC One X+. Я запускаю WifiDirectDemo от Android. Помимо переключения Wifi Direct на другие настройки не требуется. Я просто нажимаю кнопку поиска в приложении и отображаются одноранговые узлы.
Сначала я подумал, что мне нужно разрешение на другие устройства, как вы описали, и нужно повторно его использовать каждый раз, когда я устанавливаю приложение на своих устройствах. Но это было до того, как я заметил кнопку поиска в приложении и понял, что это не требуется.
Не могли бы вы совершить ту же ошибку, что и я?
Ответ 5
Это возможно благодаря методу отражения.