angularjs 设备后退按钮不起作用

angularjs device back button not working

我正在尝试在单击设备后退按钮、搜索互联网并提出编码时创建对话框。 1.when 我使用下面的代码,单击后退按钮显示对话框正常,当我单击 ok:the 应用程序关闭时取消。 2. 当我点击取消时:应用程序关闭。

app.run(['$rootScope','$mdDialog','$cordovaDialogs', function($rootScope, $mdDialog, $cordovaDialogs) {
  document.addEventListener("deviceready", function() {
    console.log("deviceready");
    document.addEventListener("backbutton", onBackKeyDown,false);
      function onBackKeyDown() {
        if(confirm("Are You sure You wanna Exit?")){
          console.log("true");
          navigator.app.exitApp();
        }else{
    return false;
    }
    }
  },false);
  $rootScope.$on('$routeChangeSuccess', function(event, current, previous) {
    $rootScope.title = current.$$route.title;
  });
}]);

请查看上面的代码,我做错了什么..?我只需要在设备内部显示确认对话框就绪。取消不能结束应用程序。提前谢谢你们。

对不起,我已经像这样更改了代码,然后应用程序关闭确认的真假也是一样的。

app.run(['$rootScope','$mdDialog','$cordovaDialogs', function($rootScope, $mdDialog, $cordovaDialogs) {
  document.addEventListener("deviceready", function() {
    console.log("deviceready");
    document.addEventListener("backbutton", onBackKeyDown,false);
      function onBackKeyDown() {
        if(confirm("Are You sure You wanna Exit?")){
          console.log("true");
          navigator.app.exitApp();
        }else{
          return false;
     }
    }
  },true);
  $rootScope.$on('$routeChangeSuccess', function(event, current, previous) {
    $rootScope.title = current.$$route.title;
  });
}]);

感谢大家的支持,在小伙伴们的帮助下我已经完成了这个问题..请看下面的代码..:)

app.run(['$rootScope','$location', function($rootScope,$location) {
  document.addEventListener("deviceready", function() {
    console.log("deviceready");
    document.addEventListener("backbutton", onBackKeyDown, false);
function onBackKeyDown(e) {
  e.preventDefault();
  if ($location.path() === "/login" || $location.path() === "/home") {
  var r=confirm("exit");
 if(r==true){
  console.log("not exit");
  navigator.app.exitApp();
 }else {
     navigator.app.goBack();
    }
}else {
    /* $ionicHistory.goBack(); */
 window.history.back();
    navigator.app.goBack();
}
}
}, 100);
$rootScope.$on('$routeChangeSuccess', function(event, current, previous) {
    $rootScope.title = current.$$route.title;
  });
}]);