本篇文章給大家分享的是有關如何使用ionic點擊系統(tǒng)返回鍵退出App,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
網(wǎng)站的建設成都創(chuàng)新互聯(lián)專注網(wǎng)站定制,經(jīng)驗豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設計體驗!已為汽車玻璃修復等企業(yè)提供專業(yè)服務。
在安卓下,如果不處理系統(tǒng)返回鍵的事件,那么每次點擊返回鍵,將頁面將返回到上一個路由,這種邏輯不符合app的路由邏輯。正確的應該是:當頁面到了各個導航頁的首頁時,此時再按返回鍵應該提示是否退出app,用戶點擊確認后退出app。
在run()方法中添加下面的方法
$ionicPlatform.registerBackButtonAction(function (e){ //阻止默認的行為 e.preventDefault(); // 退出提示框 function showConfirm() { var servicePopup = $ionicPopup.show({ title: '提示', subTitle: '你確定要退出應用嗎?', scope: $rootScope, buttons: [ { text: '取消', type: 'button-clear button-assertive', onTap: function () { return 'cancel'; } }, { text: '確認', type: 'button-clear button-assertive border-left', onTap: function (e) { return 'active'; } }, ] }); servicePopup.then(function (res) { if (res == 'active') { // 退出app ionic.Platform.exitApp(); } }); } // 判斷當前路由是否為各個導航欄的首頁,是的話則顯示提示框 if ($location.path() == '/index' || $location.path() == '/product' || $location.path() == '/account' || $location.path() == '/more') { showConfirm(); } else if ($ionicHistory.backView()) { $ionicHistory.goBack(); } else { showConfirm(); } return false; }, 101); //101優(yōu)先級常用于覆蓋‘返回上一個頁面'的默認行為
$ionicPlatform.registerBackButtonAction()
該方法是用來注冊系統(tǒng)返回鍵事件。每次點擊只會執(zhí)行最高優(yōu)先級的那個行為。比如當頁面存在一個modal框的時候,此時點擊系統(tǒng)返回鍵則是關閉modal框,而不是返回上個視圖。
ionic官方已經(jīng)定義了常用的行為的優(yōu)先級:
返回上個視圖=100;
關閉側(cè)欄菜單=150;
關閉Modal=200;
關閉 action sheet=300;
關閉popup=400;
關閉loading=500;
用法如下:
registerBackButtonAction(callback, priority, [actionId])
所以當你要重寫ionic官方定義上面那些行為,你只需要設置優(yōu)先級大于那些行為的優(yōu)先級即可。比如你要覆蓋的是返回上個視圖的行為,那么你只需要傳入的proirity的值大于100(同時要小于150)即可。
以上就是如何使用ionic點擊系統(tǒng)返回鍵退出App,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文標題:如何使用ionic點擊系統(tǒng)返回鍵退出App
網(wǎng)站路徑:http://aaarwkj.com/article26/gjcsjg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、云服務器、網(wǎng)站導航、電子商務、全網(wǎng)營銷推廣、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)