O que faz a opção "Transferência agressiva de Wi-Fi para celular" nas Configurações do desenvolvedor?

29

No Android Lollipop 5.0, notei que "Opções do desenvolvedor" apresenta uma caixa de seleção "Transferência agressiva de Wi-Fi para celular" que está desmarcada por padrão. Alguém sabe o que essa configuração faz e por que está desativada por padrão e oculta nas opções do desenvolvedor?

ivanatpr
fonte
A julgar pelo nome da opção parece que marcar essa opção faz com que o telefone seja mais feliz em usar dados celulares quando o sinal WiFi é ruim
saloalv

Respostas:

26

O código para shouldSwitchNetwork()melhor explica o que faz. Reduz artificialmente o WiFi RSSI (indicação de intensidade do sinal recebido) para incentivar a máquina de estado do WiFi a decidir mudar a conexão do WiFi para a rede celular. Em torno da linha 3559 de WifiStateMachine.java ( linha 4262 para Android 6.0.1_r10):

int rssi = mWifiInfo.getRssi() - 6 * mAggressiveHandover
        + (homeNetworkBoost ? WifiConfiguration.HOME_NETWORK_RSSI_BOOST : 0);

A variável mAggressiveHandoveré um intque é definido como 0 ou 1 pelas configurações Desenvolvedor :

private void writeWifiAggressiveHandoverOptions() {
    mWifiManager.enableAggressiveHandover(mWifiAggressiveHandover.isChecked() ? 1 : 0);
}

A rssivariável passa a influência como a conexão é classificada: isBadRSSI, isLowRSSIou isHighRSSI.

Quanto ao motivo pelo qual ele está oculto nas opções do desenvolvedor, eu diria que é porque parece um pouco imprudente, com um escalar aparentemente arbitrário (6) que alguns desenvolvedores inventaram para mudar o comportamento na direção desejada. O Google provavelmente está incerto sobre as consequências dessa configuração e a maneira ideal de se ajustar rssi. Se eu estiver errado e isso for significativo, fico feliz em admitir e explicar aqui o porquê.

Desativar essa configuração NÃO desativa completamente a transferência de celular . A conexão Wi-Fi ainda recebe uma pontuação e é desativada se a pontuação for muito baixa. Mas ei, a pontuação inicial também é definida arbitrariamente.

chappjc
fonte
5

A transferência de Wi-Fi para celular é um recurso em telefones que alterna automaticamente para dados de celular quando você não possui uma conexão WiFi forte. Você deseja habilitar isso por alguns motivos:

  • Economizará bateria - se o telefone não alternar para dados de celular quando não puder se conectar a uma conexão Wi-Fi, o telefone continuará pesquisando por WiFi, usando a bateria.
  • Você não precisará desligar o Wi-Fi quando sair de casa ou quando não tiver uma conexão para usar os dados.
Mario
fonte
1
Então, ter "Transferência agressiva de Wi-Fi para celular" desativado desativa o recurso completamente? ou simplesmente altera o comportamento para ter um ponto de corte mais alto para quando mudar de wifi para celular?
precisa
-2

NÃO, NÃO desativa completamente o recurso, nem o habilita, apenas pode ser ativado / desativado nas configurações → Wi-Fi → menu Wi-Fi Advanced (O ícone de três pontos no canto superior direito canto) e marque a caixa ao lado de "Smart switch" (Verizon Samsung Galaxy Note 4 Android 5.1.1). Caso contrário, a única coisa que você honestamente está fazendo no menu de desenvolvedores é simplesmente forçar a mesma opção exata a funcionar se / quando o telefone está enfrentando algum tipo de "soluço" na rede e, de certa forma, esquece de alterar o tipo de rede. Suponho que você possa pensar nisso como um lembrete abrupto ou abrupto para o sistema alterar sua conexão com a Internet de Wi-Fi para dados de celular e / ou vice-versa.

Ryan Kelly
fonte
1
Obrigado por tentar ajudar o OP, mas isso foi solicitado 1 ano atrás e sua resposta é difícil de seguir para os leitores. Você pode editar sua postagem para usar corretamente marcadores e / ou marcações de código?
Aaron Gillion