Handle Hardware Back button in Rc0

How do Set app level back button action… What I have is this

  constructor(platform: Platform) {
    platform.ready().then(() => {
      // Okay, so the platform is ready and our plugins are available.
      // Here you can do any higher level native things you might need.
      StatusBar.styleDefault();
       platform.registerBackButtonAction(()=>{
         // How do i handle back button here
       },200)
    });
 }

I want to achieve is that when the user is at home i want to exit otherwise go to home.

I am unable to figure out how can I check for active view name.

Here is how I do it in mine

  this.platform.registerBackButtonAction(() => {
    console.log('back button pressed')
    if (this.nav.canGoBack()) {
      console.log('nav can go back')
      this.nav.pop()
    } else if (this.nav.getActive().component.name == "ListPage") {
      this.nav.setRoot(MixesPage)
    } else {
      this.showConfirmExit()
    }
  }, 100);
1 Like

yes i tried it…when I inject the NavController into the constructor of the app.component.ts i get an exception

EXCEPTION: No provider for t!

Can you specify where are you registering the back button handler? As i mentioned doing it in the app.component.ts gives an exception

In the app.component.ts is where I have it.

You don’t use NavControlelr in the app.component, instead you just use Nav.

import {Platform, MenuController, Nav, AlertController, ModalController} from ‘ionic-angular’;
Also you add @ViewChild(Nav) nav: Nav;

I am using the tabs template and now i have the Nav injected in the constructor.
I am trying to get the name of the view as follows

    this.nav.getActive().component.name 

This returns the letter t and not the name of the component.

This does not happen in the browser. In the browser proper name value is returned but not on device.

Yes, I have the same problem in Rc0. It used to be the full name of the component, now they are shortened.
Dont know any other ways to identify the active page.