2016-02-11 133 views
0

我想創建對話框,當設備後退按鈕點擊,搜索互聯網和想出了編碼。 1.當我使用下面的代碼時,單擊後退按鈕顯示對話框確定並取消當我單擊確定時:應用程序關閉。 2.當我點擊取消:應用程序關閉。angularjs設備後退按鈕不工作

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; 
 
    }); 
 
}]);

請看上面的編碼,我做錯了什麼......?我只需要顯示確認對話框內設備準備..並取消一定不能結束的應用程序..先謝謝你們。

+0

它在'cordova'應用程序中嗎? – Rayon

+0

Angularjs應用程序 –

+0

在複製粘貼事物之前閱讀參考資料。 'deviceready'和'backbutton'是'cordova'生命週期事件。 – Rayon

回答

0

感謝您的支持傢伙,我有從我的隊友們得到幫助完成了這個問題。請參閱下面的代碼.. :)

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"); 
 
\t if(r==true){ 
 
\t \t console.log("not exit"); 
 
\t \t navigator.app.exitApp(); 
 
\t }else { 
 
    navigator.app.goBack(); 
 
    } 
 
}else { 
 
    /* $ionicHistory.goBack(); */ 
 
\t window.history.back(); 
 
    navigator.app.goBack(); 
 
} 
 
} 
 
}, 100); 
 
$rootScope.$on('$routeChangeSuccess', function(event, current, previous) { 
 
    $rootScope.title = current.$$route.title; 
 
    }); 
 
}]);

0

SRY,我已經改變了這樣的代碼,然後又在同一應用程序關閉兩個真假確認的..

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; 
 
    }); 
 
}]);