vue里監聽安卓的物理返回鍵


Hybrid App中,原生內嵌H5單頁,由於安卓是有物理返回鍵的,按安卓物理返回鍵的時候會返回到上一個路由。

實際中需求是:當有彈層的時候,按物理返回鍵是關閉彈層,是頁面的時候才執行返回上一個路由,所以需要對安卓進行兼容

開始的方案是Android原生重寫方法onKeyDown(),H5 JsBridge js去調用方法,當需要的時候屏蔽物理返回鍵,這種方法也能實現

由於H5單頁用的是vue,vue中的路由方法也能實現,並且不需要和APP交互,更加便捷,所以最終決定采用這種方法

只需要寫在路由頁面中

beforeRouteLeave (to, from , next) { // 離開當前路由進行的操作
 // 如果頁面上沒有展示彈層,彈層全部關閉的話,按回退按鈕會執行返回,即到下一個路由
// this.$vux.confirm.isVisible()用來判斷是否顯示vux的confirm彈層
      if (!this.showPop&&!this.$vux.confirm.isVisible()) { // 所有彈層都是關閉狀態才執行回退路由
        next()
      } else { 
          this.$vux.confirm.hide()  // 關閉confirm彈層
          this.showPop = false
        next(false) // 否則就不到下個路由,而是把各個彈層關閉掉
      }
},

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM