WifiManager.getScanResults () - esclarecimentos (varreduras automáticas, sono etc)

Eu gostaria de alguns esclarecimentos sobre o comportamento deWifiManager.getScanResults(), nomeadamente:

Quando a conexão sem fio está ativada

O Android procura pontos de acesso em um intervalo fixo? Alguém pode consultar / alterar o intervalo? Alguém pode consultar a hora da última varredura? Para uma discussão, veja istorespondaO que acontece quando o rádio sem fio é desligado (dorme) - enquanto o Wi-Fi ainda está ativado -getScanResults() continuar retornando os últimos resultados da varredura? Como se saberia se é hora destartScan()?

Quando a rede sem fio está desativada

getScanResults() retornaria os últimos resultados da varredura? Ou uma lista vazia? Ounull (ele retorna nulo às vezes e isso não é tratado por 90% dos snippets postados no SO)?A resposta para 1 seria verdade mesmo depois de um reboot (o telefone arrancar com wifi desligado)?

A razão que eu pergunto é que eu preciso para obter a lista dos pontos de acesso disponíveis periodicamente e eu prefiro chamargetScanResults() de uma vez, do queWifiManager.startScan() e depoisgetScanResults() se eu realmente não tenho que - como isso envolve a aquisição de bloqueios wi-fi e afins e é bastante sutil. Eu também não sei o quanto o nível da API e o hardware do telefone entram em ação.

Para uma boa discussão das dificuldades, veja istoresponda

questionAnswers(2)

yourAnswerToTheQuestion