Olá pessoal, tudo bom?
Segue uma dica rápida sobre como tratar o clique do botão Back (voltar) de um aparelho celular com o sistema Windows Phone da Microsoft. Essa dica pode vir a ser importante em situações onde o desenvolvedor queira perguntar ao usuário, por exemplo, se ele realmente gostaria de sair da aplicação que está usando, ou quando você quiser personalizar a ação desse botão.
Veja o código C# que você deve adicionar em toda página da aplicação Windows Phone onde se queira utilizar esse recurso:
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) { if (MessageBox.Show("Sair do aplicativo?", "Logout", MessageBoxButton.OKCancel) == MessageBoxResult.OK) { //Faça alguma coisa aqui... base.OnBackKeyPress(e); } else e.Cancel = true; }
Grande abraço,
Eduardo Henrique Rizo
[twitter-follow screen_name=’eduardorizo’ show_count=’yes’]
Pingback: Curso Windows Phone – Tópicos « Blog do Eduardo H. Rizo
Há algum código de obrigue a aplicação a fechar sem estamos na page inicial?
Um amigo está a criar um jogo e queria poder fechar o jogo logo ao meio e gravar ao carregar no botão back depois de fazer a confirmação.
Olá Davide, tudo bom?
Não há nenhuma instrução que faça uma aplicação Windows Phone “fechar”. De uma lida no ciclo de vida de uma APP para entender um pouco melhor sobre isso.
Não tenho muita certeza, mas pelo que já vi, me parece que há algo que pode ser feito quando o jogo está sendo desenvolvido utilizando XNA.
Qualquer outra coisa, me fale.
[]s
Eduardo
Olá Eduardo , inseri o codigo em minha pagina e recebi o seguinte erro, o que pode esta acontecendo ?
Error Expected class, delegate, enum, interface, or struct
Olá Cleidson, tudo bom?
Post o teu código fonte aqui para que eu possa analisar.
[]s
Eduardo
O meu deu o mesmo erro!
Boa tarde!
Qual erro Fábio?
Olá Eduardo, por acaso você saberia me dizer se é possível tratar os clicks nos botoes home e share também?
precisava fazer um aplicativo para um cliente em que o usuário não pudesse sair dele a não ser por senha. Porém, não consigo achar uma solução já que é possível sair das aplicações por esses botoes também. Desde já Obrigado!!
Olá Felipe, tudo bom?
Apenas o botão Voltar (back) do Windows Phone pode ser manipulado e ter sua ação cancelada. Os outros botões físicos, como por exemplo, o botão de start e o botão de pesquisa não poderão ser manipulados. Detalhes sobre essas informações podem ser encontradas no “User Experience Design Guidelines for Windows Phone“.
Há um outro link na Internet que também fala sobre o Guidelines for Windows Phone, que diz o seguinte:
Grande abraço,
Eduardo H. Rizo
Muito obrigado Eduardo.
Grande abraço!
Pingback: WP Clube [Artigo] Como tratar o clique do botão Back do celular no Windows Phone - WP Clube
Olá Eduardo, eu estou criando um leitor de feed RSS, e coloquei uma função, que funciona assim:
Quando o usuário escolher um item, uma webView que já existe, porém estava invisivel, ficará visivel, e a webView amostrará o conteudo do item que o usuario escolheu, eu consegui fazer isto, porém, eu tentei colocar para que quando o usuario tocasse no botão de voltar, se a webView estivesse visivel, ficasse novamente invisivel, mas não estou conseguindo fazer isto, meu codigo abaixo:
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
if webBrowser1.Visibility = Visibility.Visible
{
webBrowser1.Visibility = Visibility.Collapsed;
}
}
Olá, tudo bom?
Vc já tentou debugar o código para analisar se ele está passando pelo seu método?
Abraços,
Eduardo H. Rizo
Eduardo quero primeiro lhe parabenizar seu blog é muito bom e tem me ajudado bastante! Minha dúvida é a seguinte, não estou conseguindo tratar esse botão voltar, estou desenvolvendo um app em VB, fiz o que disse aqui mas não dá certo, poderia me ajudar? Meu código:
Protected Overrides Sub OnBackKeyPress(e As CancelEventArgs)
‘código aqui…
End Sub
dá o erro: “sub OnBackKeyPress não pode ser declarada ‘Overrides’ porquê não substitui uma sub em uma base class.
É o meu primeiro app e só falta isso pra terminar… Obrigado desde já!
Bom dia Jonatã, tudo bom?
Não sei muita coisa de VB, mas pelo que sei seu código deveria ser assim:
Protected Overridable Sub OnBackKeyPress (e As CancelEventArgs)
Para mais informações, por favor, acesse https://msdn.microsoft.com/library/windows/apps/microsoft.phone.controls.phoneapplicationpage.onbackkeypress(v=vs.105).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1
Abraços,
Eduardo H. Rizo
Eu gostaria de ao clicar no botão Back retornar para a página anterior do aplicativo, mas não estou conseguindo.
Como posso fazer isso?
Obrigado.
Olá Thiago, tudo bom?
Bem, a função padrão do “back” já seria essa, ou seja, voltar para a página anterior do aplicativo.
Poderia explicar um pouco melhor como você está desenvolvendo?
Abraços,
Eduardo H. Rizo