2017-01-15 45 views
0

我使用Phonegap與Framework7結合使用。Phonegap html5視頻全屏後退按鈕行爲

我有一個很奇怪的問題。我使用html5視頻標籤來流式傳輸視頻。流式傳輸的效果非常好。

當我全屏時出現問題。退出全屏並按下後,按鈕應用程序關閉,而不是繼續前一個屏幕。

如果我播放視頻並且不全屏,它將正常工作並返回到上一個屏幕。

這是我的代碼: document.addEventListener(「deviceready」,onDeviceReady,false);

function onDeviceReady() { 
    document.addEventListener("backbutton", function (e) { 
     alert('backbutton'); 
     if (mainView.activePage.name=='index'){ 
      navigator.notification.confirm("Are you sure want to exit from App?", onConfirmExit, "Confirmation", "Yes,No"); 
      function onConfirmExit(button) { 
       if(button==2){ //If User select a No, then return back; 
        return; 
       }else{ 
        navigator.app.exitApp(); // If user select a Yes, quit from the app. 
       } 
      } 
     } 
     else{ 
      mainView.router.back(); 
     } 
    }, false); 
} 

如果我全屏,退出全屏並返回,代碼中的警報不會出現。

這是一些錯誤還是我做錯了什麼?

+0

您能分享代碼嗎?請記住,你必須做一些修改來監聽'back'事件,已經有一個名爲'myApp.onPageBack(pageName,callback(page))的回調'http://framework7.io/docs/page-callbacks .html – tinyCoder

+0

我已經分享了相關的代碼。在這段代碼中,我正在監聽「backbutton」事件。我不想在頁面返回時收聽,我想在用戶按下後退按鈕時收聽。上面的代碼工作正常,但在進入和退出全屏視頻後它停止工作。 – igor

+0

哦,我很抱歉,這很奇怪,我很感興趣。我打算分享完整的代碼,以便我可以在我的最後測試。 – tinyCoder

回答

0

我在使用自定義視頻播放器插件的Ionic2應用程序中遇到類似問題。當我將播放器全屏切換回來時,Ionic的硬件後退按鈕功能停止工作:應用程序在點擊硬件後退按鈕時立即關閉,而不是彈出Ionic導航堆棧的下一個視圖。 https://github.com/floatinghotpot/cordova-admob-pro/issues/148

我曾在CordovaActivity.java覆蓋dispatchKeyEvent():

我使用該解決方案在這裏建議固定我的問題

@Override 
public boolean dispatchKeyEvent(KeyEvent event) { 
    if (this.appView != null) { 
     View webview = this.appView.getView(); 
     if (webview != null) {    
      return webview.dispatchKeyEvent(event); 
     } 
     return true; 
    } 
    return false; 
} 

這是一個黑客,當然,因爲核心科爾多瓦文件已被修改,但我還沒有找到更好的解決方案。