WebBrowStosk falha
-
27-09-2019 - |
Pergunta
O código a seguir funciona às vezes e na maioria das vezes não:
WebBrowserTask wbt = new WebBrowserTask();
wbt.URL = url;
wbt.Show();
No emulador e no dispositivo real (HTC HD7). Ele criará o navegador da web (ou seja), mas não colocará o URL ou navegará nele.
O que da?
Solução
Toda vez que você executa o código, ele traz uma nova guia. Então, se você olhar nas suas guias, verá aquele com seu URL e um monte de espaços em branco - que é o mau comportamento.
O mau comportamento só acontece quando depura, no entanto. Portanto, se você iniciar com um Ctrl+F5 ou apenas executar o aplicativo do seu telefone, ele deve funcionar como você espera.
Edit: Accentuou a resposta - obrigado.
Outras dicas
Eu só vi isso realmente falhou Ao depurar, como o JP Alioto menciona ... e então se você entrar na barra de URL e sair novamente, ele será carregado naquele momento. (Já faz um tempo desde que eu fiz isso, então eu poderia estar errado.) É muito estranho. Se você está vendo esse comportamento quando estiver não Depuração, seria bom obter mais detalhes.
Um ponto a ser observado com o WebBrowserTask
é que não lida com URLs com "&" in - eu uso Uri.EscapeDataString(url)
antes de lançar a tarefa. Ele escapa muito mais do que é necessário, mas isso não tem efeitos negativos que eu conheço. (Isso pode significar potencialmente que seu "comprimento máximo de URL" é efetivamente mais curto do que seria de outra forma, eu acho.)