2017-01-15 74 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; 
} 

这是一个黑客,当然,因为核心科尔多瓦文件已被修改,但我还没有找到更好的解决方案。