6335

What is the hype around the Windows Phone 8 back button?

Question:

I know how to implement the back button. My question is about the desired behaviour (as I experienced there is a hype around it that the good implementation of back button is required to sell the app in the store).

There is the official source: <a href="http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402536(v=vs.105).aspx#BKMK_BackButton" rel="nofollow">http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402536(v=vs.105).aspx#BKMK_BackButton</a>

But I have never used a WP8 for more than 5 minutes. I understood that the "Windows" button/key is the same as android home and ios home buttons. Is it true, that the WP8 back should be the same as the android back? (Briefly navigate back through pages (screens/activities), dismiss alerts or cancel confirm popups, or if it is the first/only/final page/activity, the app should exit.)

As I experienced, there is a <strong>long-press on the back button</strong>, which brings up the app switcher (~ios double home). Is it true that I should not take care about of this button? Is the default behavoiur the same for the remaining buttons (windows, power off, camera (half and full), search)? Should I override them? Can I override them (I think I can use camera, but can I use volume controls for other purposes)?

Answer1:

The <a href="http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh184840%28v=vs.105%29.aspx" rel="nofollow">certification requirements</a> lay out what the back button should do pretty well. In short, it sounds like how you described the Android back button - here are the relevant requirements:

<blockquote>

(5.2.4.1) Pressing the Back button must return the app to the previous page or return to any previous page within the back stack.

(5.2.4.2) Pressing the Back button from the first screen of an app must close the app.

(5.2.4.3) If the current page displays a context menu or a dialog, the pressing of the Back button must close the menu or dialog and return the user to the screen where the context menu or dialog box was opened.

</blockquote>

You don't have to handle triggering the long-press, nor do you need to handle navigation specifically (assuming you're using the NavigationService for page navigation.)

You can definitely <a href="http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202963%28v=vs.105%29.aspx" rel="nofollow">override the camera button</a>, but search, power, and volume are off limits.

Recommend

  • I want to install Expression blend for Visual studio 2012 on my Win7 machine. how to get it
  • FSharp.Data Csv.Load() failed with Only web locations are supported
  • Is there any way, that I can make Android Emulator run on Azure Virtual Machine?
  • Confusion with the order of execution when `next` with `unless` in ruby
  • Excel - Formula or Macro to fill a cell based on another cell that links to yet another cell
  • SQLite HAVING comparison error
  • Hibernate session.beginTransaction() call and Mysql Start Transaction
  • Embedded h2 database: getting connection but table not found
  • 'System.ComponentModel.INotifyPropertyChanging' in two places with MVVMLight Portable libr
  • Where to get the .java files of a netbeans project?
  • How to import Navit into Eclipse and use it in own android project
  • Does SmartGit support git-svn?
  • Getting IIS6 to play nice with WordPress Pretty Permalinks
  • Creating a Multi-Step Modal Using Jquery
  • How can I extend PHP DOMElement?
  • Issue with routerLink directive
  • Installing Perl6 and Panda on Ubuntu 15.10. Problems with bootstrap.pl
  • Can my PDF ping my server when it is opened?
  • Facebook iOS SDK Not Calling Completion Handler
  • Application level floating views with navigation in Android
  • Jenkins: FATAL: Could not initialize class hudson.util.ProcessTree$UnixReflection
  • Marklogic : Query response time is very high
  • Debug.DrawLine not showing in the GameView
  • print() is showing quotation marks in results
  • Custom Tabgroup Appcelerator
  • Android full screen on only one activity?
  • Disable Enter in editText android
  • Cannot resolve symbol 'MyApi'
  • If I include Java 8 in my Android app does that affect which devices it will work on?
  • Illegal mix of collations for operation for date/time comparison
  • Accessing IRQ description array within a module and displaying action names
  • JavaScriptCore crash on iOS9
  • Release, debug version and Authorization Google?
  • Adding custom controls to a full screen movie
  • Data Validation Drop Down Box Arrow Disappearing
  • A cron job substitute?
  • sending mail using smtp is too slow
  • Busy indicator not showing up in wpf window [duplicate]
  • Why is Django giving me: 'first_name' is an invalid keyword argument for this function?
  • How can I use `wmic` in a Windows PE script?