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("https://ehrizo.wordpress.com");
   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

Coordenador de Internet da Universidade do Oeste Paulista (Unoeste) e professor universitário de disciplinas relacionadas ao desenvolvimento de sistemas para Web, gerenciamento de servidores, serviços e redes.

Marcado com: , , , , , , , , , , , , , , , ,
Publicado em Windows Phone
12 comentários em “Curso Windows Phone – Como navegar para uma URL externa através de sua APP
  1. […] Como navegar para uma URL externa através de sua APP […]

  2. Eduardo tem como me mandar um projeto simples usando esse codigo, pois como sou iniciante gostaria de aprender ainda mais

  3. Muito obrigado mesmo, tava precisando

  4. Ewerton disse:

    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

    • 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

      • Ewerton disse:

        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.

      • Ewerton disse:

        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 ?

      • 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

      • Ewerton disse:

        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

Sorocaba e Região
Prestadora de serviços RIZZO GS - Sorocaba/SP

Serviços de limpeza, conservação, recepção, copa, portaria, vigia, zeladoria, jardim, elétrica, hidráulica, pintura, etc.

Contato: (15) 3357-4263 / (15) 3357-4502 - contato@rizzogs.com.br

Website: http://www.rizzogs.com.br