首页 文章

在Android中添加硬件返回按钮到Home for Ionic

提问于
浏览
0

当从侧面菜单按功能时,Ionic具有不同的导航 . 当您从听筒按下后退按钮时,它将立即退出 .

我引用此tutorial并对我的app.js进行更改,但无法返回主页但退出应用程序 .

The code suppose to (which is what I needed):

1.如果不在主页,如果按下硬件返回按钮,它将返回上一页 . 如果它在主页,按下硬件后退按钮将弹出确认用户是否真的要退出 .

app.js

angular.module('myapp', ['ionic', 'myapp.controllers', 'myapp.factories'])
.run(function($ionicPlatform,$state,$ionicHistory,$ionicPopup) {
  $ionicPlatform.ready(function() {
if (window.cordova && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
      cordova.plugins.Keyboard.disableScroll(true);
    }
      if (window.StatusBar) {
        // org.apache.cordova.statusbar required
        StatusBar.styleDefault();
      }

    $ionicPlatform.registerBackButtonAction(function (event) {
    event.preventDefault();
    if ($state.current.name == "app.home") {
      var confirmPopup = $ionicPopup.confirm({
        title: 'Exit',
        template: 'Confirm Exit'
      });

      confirmPopup.then(function (res) {
        if (res) {
          navigator.app.exitApp();
        }

      });
    } else {
      $ionicHistory.nextViewOptions({ disableBack: true });
      $state.go('app.home');
    }
  }, 100);//registerBackButton

});
})

  $stateProvider
      .state('app', {
        url: '/app',
        abstract: true,
        templateUrl: 'templates/menu.html',
        controller: 'menuCtrl'
      })
      .state('app.home', {
        url: '/home',
        views: {
          'menuContent': {
            templateUrl: 'templates/home.html',
            controller: 'homeCtrl'
          }
        }
      })
      .state('app.personalitem', {
        url: '/personalitem',
        views: {
          'menuContent': {
            templateUrl: 'templates/personalitem.html',
            controller: 'personalitemCtrl'
          }
        }
      })
      .state('app.pStock', {
        url: '/pStock',
        views: {
          'menuContent': {
            templateUrl: 'templates/pStock.html',
            controller: 'pStockCtrl'
          }
        }
    });
angular.module('myapp.factories', []);
angular.module('myapp.controllers', []);

我该如何处理我的代码,以便我可以使硬件返回按钮工作?

1 回答

  • 0

    你能试一下吗:
    menu.ts
    openPage(page) { this.nav.setRoot(page.component); }

    menu.html
    <button class="menuList" menuClose ion-item *ngFor="let p of pages" (click)="openPage(p)"> {{p.title}} </button>

    app.component.ts
    pages: any[] = [ { title: 'Welcome', component: IntroPage }, { title: 'Home', component: TabsPage }, ]

相关问题