Como desativar a detecção de portal cativo? Como remover um ponto de exclamação no Wi-Fi ou no ícone de sinal no Lollipop?

36

Quando conectado à Internet, o sistema verifica se está em um jardim murado, que está simplesmente tentando se conectar ao Google. Se falhar, no Android 5, haverá um ponto de exclamação no ícone do WiFi ou no ícone de sinal.

Em algumas situações, isso é irritante. Digamos, na China, o Google está bloqueado, o ponto de exclamação sempre estará lá, o que não faz sentido.

Como posso desativar essa verificação e fazer com que o sistema assuma que os dados WiFi / móveis conectados estão conectados à Internet?

Qian
fonte
Reaberto porque esta é uma pergunta diferente da IMO. Você pode desativar isso sem encontrar o problema na outra pergunta.
Mateus Leia

Respostas:

33

É simples. No terminal (requer raiz) ou em adb shell(não requer raiz), emita o comando

settings put global captive_portal_detection_enabled 0

e reinicie. Deve estar desativado. O estado existente também pode ser verificado através do comando

settings get global captive_portal_detection_enabled

Uma resposta "nula" indica que o valor da chave global não foi definido e o Android retornará ao padrão de estar ativado e executar a detecção. Se a detecção estiver desativada, a resposta "0" será recebida.

Mais informações: Android: Como remover a detecção de “portal cativo” no Android 4.2.2 e 4.3

Também funciona em 5.

Qian
fonte
Ótimo! Observo que o link descreve isso em 4.2.2 e 4.3. Você (ou qualquer outra pessoa) verificou que isso também funciona no 5.0.x?
Flyto 23/02
@ SimonW sim, funciona. Foi por isso que marquei a pergunta pirulito. Estou usando o CyanogenMod 12 embora.
Qian
Estou no android noob. Preciso torcer para que isso aconteça?
Christian Bongiorno
11
Comente por Gery , sem o representante para isso: Para aqueles que usam o terminal pela primeira vez, não se esqueça de colocar o comando "su" antes de fazer qualquer coisa, para permitir permissões de superusuário. (Demorou um pouco para eu entender por que estou recebendo "permissão negada"). Depois disso, funcionou como um encanto.
Izzy
11
A partir do Nougat (eu acho, pode ser apenas o 7.1.2, ou já é Marshmallow), use em settings put global captive_portal_mode 0vez disso, consulte jira.lineageos.org/browse/REGRESSION-620
bonob
13

Na Visualização do desenvolvedor do Android M para Shamu (Nexus 6) e, possivelmente, em outras compilações deste sistema operacional, ele captive_portal_server globalé usado pelo sistema operacional, independentemente do estado de captive_portal_detection_enabled, para determinar a integridade de uma rede Wi-Fi.

Para redes Wi-Fi, ele não apenas desenha um ponto de exclamação no ícone de força, como também coloca na lista negra o SSID da reconexão automática se não conseguir com êxito curlo URL especificado no captive_portal_server globalSSID através do SSID. A reconexão manual é permitida, mas só permanecerá conectada se você tiver captive_portal_detection_enablede escolher "Usar esta rede como está" manualmente, sempre que você se conectar a esse SSID WiFi. Essa substituição é temporária.

Para redes de operadoras de telefonia móvel, captive_portal_serverapenas é usado para desenhar um ponto de exclamação no ícone de força, mas permanecerá conectado e o tráfego fluirá se a conexão estiver funcional.

No seu dispositivo raiz, a solução é reativá- captive_portal_detection_enabledlo se você o desativou, conecte-se a essa rede WiFi, selecione "Usar esta rede como está" no menu suspenso do portal captivo, desative a sua rede móvel dados para se concentrar na determinação de um site que pode ser recuperado através da sua rede Wi-Fi fazendo login no seu portal cativo e, em seguida, use um navegador para encontrar um que funcione. Depois disso, você pode desativar captive_portal_detection_enabledpara impedir o pop-up irritante.

Para reativar o seu captive_portal_detection, se você o desativou anteriormente, emita o comando:

settings put global captive_portal_detection_enabled 1

Desative sua rede móvel (em Configurações - Uso de dados - Dados móveis - Desativado), para forçar o telefone a usar a rede Wi-Fi para todo o tráfego, temporariamente. Isso não será necessário quando você tiver todas as suas configurações onde elas precisam estar.

O Android M parece exigir um site que seja carregado com êxito e não retorne ativamente um 204 (sem conteúdo).

Algumas opções incluem, entre outras, as

androidcheck.kiritostudio.com
captive.apple.com
www.textise.net
the network router
localhost
127.0.0.1 (if you have an onboard simple HTTP server)
and the list goes on...

Depois de encontrar um que funcione para sua rede WiFi (geralmente requer mais imaginação e tentativas por trás de proxies corporativos de gateway da web que não gostam de tráfego HTTPS antes da autenticação), você pode salvar o servidor.

Salve o servidor executando isso no seu aplicativo de terminal habilitado para raiz, substituindo o URL de exemplo pelo que você espera que funcione:

settings put global captive_portal_server androidcheck.kiritostudio.com

Reinicie seu dispositivo. Experimente. Quando você estiver satisfeito com o comportamento dos pontos de exclamação nos ícones, a etapa final é desativar o pop-up do portal cativo, que é uma das invenções mais infelizes desta década.

Comando de emissão:

settings put global captive_portal_detection_enabled 0

Se você se encontrar em um país diferente ou em uma situação de WiFi em que surgem problemas, infelizmente você precisará repetir o acima exposto desde o início captive_portal_detection_enabled, reativando, reiniciando, localizando o servidor certo e desativando a detecção do portal posteriormente.

Usuário Android M
fonte
Você quis dizer HTTP 204 ( sem conteúdo ) ou HTTP 404 (não encontrado)? No momento, mudei para "sem conteúdo" com base em outra resposta
Andrew T.
Isso resolveu o problema "conectado, sem internet" no Nougat. Executando o CM14.1 atualizado (7.1.2) no Nexus.
Yvon
1

Você pode configurar o endereço do servidor de portal cativo para ele.

settings put global captive_portal_server g.cn

Em seguida, reinicie o seu telefone.

PS: Antes disso, você pode validar se o servidor está disponível.

http://g.cn/generate_204

Kebin Liu
fonte
Prefira g.cn para a China continental
youfu
Eu recebo um erro HTTP 404.0 - Não encontrado
Sorte
@Lucky Por favor, use g.cn.
Kebin Liu