Я создаю WifiP2pGroup
с WifiP2pManager.connect()
. Это работает отлично, но группа всегда расформирована через тридцать минут, независимо от того, передаются ли данные или нет. Кто-нибудь знает, почему это происходит, или если это можно предотвратить?
Я пробовал непрерывно передавать данные между устройствами и постоянно удерживать экраны с помощью блокировки слежения, но это не имеет никакого значения. Я убедился, что Wi-Fi настроен не спать, а также получил wifilock и отключил оптимизацию батареи для приложения и для Wi-Fi напрямую, но это тоже не помогает. Через тридцать минут (или, если быть конкретным, 29 м 18 с - это очень непротиворечиво) я получаю широковещательную передачу CONNECTION_STATE_CHANGE
, и устройства больше не спарены.
Устройствами являются Nexus 7
running Android 7 (LineageOS)
и Samsung Galaxy A5
running Android 6
.
Спасибо!
Изменить: я пробовал работать с отключенными мобильными данными и Wi-Fi не подключен. Приложение не приостанавливается или не уничтожается, и никакие другие приложения не имеют разрешения на изменение состояния wifi. В журналах wifi на одном из устройств я нашел это событие во время отключения:
E/DhcpStateMachine: DHCP renew failed on p2p-wlan0-0: Timed out waiting for DHCP Renew to finish
D/WifiP2pService: GroupCreatedState{ what=196613 }
E/WifiP2pService: DHCP failed
На другом устройстве я нашел это в начале процесса отключения:
552-813/system_process V/WifiHAL: event received NL80211_CMD_DEL_STATION
552-846/system_process D/WifiMonitor: Event [IFNAME=p2p-p2p0-11 AP-STA-DISCONNECTED b6:22:8b:b1:df:0f p2p_dev_addr=f2:62:6f:d1:5f:0c]
552-846/system_process D/WifiMonitor: p2p0 cnt=6442 dispatchEvent: AP-STA-DISCONNECTED b6:22:8b:b1:df:0f p2p_dev_addr=f2:62:6f:d1:5f:0c
552-629/system_process D/WifiP2pService: Client list empty, remove non-persistent p2p group