Могу ли я изменить владельца группы в постоянной группе в Wi-Fi Direct?

При создании группы через Wi-Fi Direct я знаю, что могу создать постоянную группу.

Мой вопрос: могу ли я создать постоянную группу, но каждый раз менять владельца группы (т. Е. Каждый поворот владелец группы будет одним из устройств в группе).

Кроме того, при создании постоянной группы требуется принимать соединение только в первый раз, правильно?

Теперь вы можете создать новую постоянную группу через WifiP2pManager.createGroup(..) . Он создаст новую группу и сделает владельца группы вызывающего устройства (A) и сможет делать то, что вы описали. Единственная проблема – создать группу и подключиться к другому устройству, чтобы другое устройство (B) запомнило эту конкретную группу. Если вы попытаетесь создать новую группу в A (скажем, открыв приложение второй раз) и попытайтесь подключиться от B, она автоматически присоединится к старой группе и не появится так, как если бы она была подключена в новой группе в A.

EDIT: существует способ уничтожить все постоянные группы. Это скрытая функция, называемая deletePersistentGroups . Это уничтожит каждый из них, но, похоже, это единственный надежный способ решить вашу проблему. Вызовите это после вызова WifiP2pManager.initialize(..) , чтобы вы могли использовать канал.

 private void deletePersistentGroups(){ try { Method[] methods = WifiP2pManager.class.getMethods(); for (int i = 0; i < methods.length; i++) { if (methods[i].getName().equals("deletePersistentGroup")) { // Delete any persistent group for (int netid = 0; netid < 32; netid++) { methods[i].invoke(wifiP2pManager, mChannel, netid, null); } } } } catch(Exception e) { e.printStackTrace(); } } 

Я не совсем уверен, почему netid достигает 31, я бы предположил, что это максимальное количество разрешенных запоминаемых подключений. Код, взятый отсюда .

Ответ на ваш первый вопрос – НЕТ. «Владелец группы P2P группы постоянных P2P определяется, когда формируется группа P2P и является одним и тем же устройством P2P в последующих сеансах P2P-группы». Эта строка из спецификации p2p говорит, что вы не можете изменить владельца группы.

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

Поведение настойчивости еще не поддерживается в прямой структуре android wifi.

Давайте будем гением компьютера.