Curso Windows Phone – Como navegar para uma URL externa através de sua APP

ie10Olá pessoal, tudo bom?

Resolvi escrever essa dica para poder responder a uma dúvida que me foi enviada. A dúvida é em relação a como fazer a chamada do navegador web do WP quando algum elemento da tela da APP for selecionado.

Tomando por exemplo que o usuário deva pressionar um botão “Abrir Site” para fazer a chamada ao site externo, teríamos como código resultante o trecho abaixo:


...
using Microsoft.Phone.Tasks;
....
private void btnAbrir_Click(object sender, RoutedEventArgs e)
{
   WebBrowserTask wb = new WebBrowserTask();
   wb.URL = HttpUtility.Encode("http://www.eduardorizo.com.br");
   wb.Show();
}

Há outras formas de se fazer a mesma coisa, como por exemplo, utilizar a propriedade NavigateUri de um HyperlinkButton ou mesmo associar a criação do launcher WebBrowserTask a quaisquer outros eventos da APP, mas de qualquer forma, fica a dica.

Post Relacionado: 

Grande abraço,
Eduardo Henrique Rizo

[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]

12 comentários em “Curso Windows Phone – Como navegar para uma URL externa através de sua APP”

  1. Pingback: Free: Curso Windows Phone – Vários tópicos | Blog do Eduardo H. Rizo

  2. Olá tentei fazer um exemplo aqui passando parâmetros para a página (url)

    api/teste/insert?nome=valor&pontos=valor

    só que quando abro com o navegador
    só aparece

    api/teste/insert?nome=valor

    parece que depois ou a partir do & não vai

    Você saberia me explicar porque ?
    E se tem como burlar este problema ?

    E nesta linha de código:

    wb.URL = UrlSite;
    


    Warning 1 ‘Microsoft.Phone.Tasks.WebBrowserTask.URL’ is obsolete: ‘”Please use Uri property”‘

    No caso fala para usar o wb.uri

    1. Olá Ewerton, tudo bom?
      Observe a forma como você está formando a string UrlSite. Você colocou o caracter @ antes do início da string? Isso é importante para que o C# desconsidere caracteres de “scape” como é o caso do &.

      ...
      string UrlSite = @"api/teste/insert?nome=valor&pontos=valor";
      ...
      

      Abraços,
      Eduardo

      1. uhn mais uma dica.

        Esta eu não sabia, e eu avisa até procurado mais não vi nenhum código assim, procurei até para C# winforms mais o que achei funciona em wp rs.

        Mas beleza valeu por mais esta.

      2. Oh eu de novo
        aqui não funcionou não

        Eu coloquei com a mudança que você falou

        UrlSite = @"http://api/rioquiz/insert?nome=" + NomeJog + "&" +"pontos=" + Pontos;
        wb.URL = UrlSite;
        

        assim

        UrlSite = @"http://api/rioquiz/insert?nome=" + NomeJog + "&" +"pontos=" + Pontos;
        wb.URL = @UrlSite;
        

        sem o http

        UrlSite = @"api/rioquiz/insert?nome=" + NomeJog + "&" +"pontos=" + Pontos;
        wb.URL = UrlSite;
        

        Mas nada de passar do &

        Você teria mais alguma ideia do que seria ?
        Ou eu estou fazendo algo errado você acha que pode ser alguma coisa no código, ou é do windows phone e o internet explorer do wp ?

      3. Ewerton, está faltando apenas usar o UrlEnconde para adequar os caracteres de escape.

        Veja como poderia ser:

        string NomeJog = "Nome Jogador";
        string Pontos = "10";
        //Usei o string.Format para facilitar a concatenação
        string UrlSite = string.Format("http://api/rioquiz/insert?nome={0}&pontos={1}", NomeJog, Pontos);
        WebBrowserTask wb = new WebBrowserTask();
        //Uso do método UrlEncode para tratar os caracteres da URL
        wb.URL = HttpUtility.UrlEncode(UrlSite);
        wb.Show();
        

        Abraços,
        Eduardo

      4. beleza agora funcionou

        Valeu mais uma vez.

        ficou assim:

        string UrlSite = string.Format("http://www.site.com.br/api/app/insert?nome={0}&pontos={1}", NomeJog, Pontos);
        WebBrowserTask wb = new WebBrowserTask();
        //Uso do método UrlEncode para tratar os caracteres da URL
        wb.URL = HttpUtility.UrlEncode(UrlSite);
        wb.Show();
        

Deixe um comentário para Eduardo H. Rizo Cancelar resposta