如何在 framework7 中检测 android 的后退按钮

how to detect back button of android in framework7

我最近正在使用 framework7 构建一个应用程序。我的应用程序包含一个 html 文件,其中包含所有视图。要在视图之间导航,页面底部有一个后退按钮。

对于后退按钮,我正在使用代码

var myView = app.view.current;

myView.router.back();

如果我按下 android 设备上的后退按钮,应用程序将关闭

如何使用 android phone 的后退按钮进入主页。

I have use pushState:true but it doesnt work for me.

下面是我的 app.js 文件

    // Dom7
    var $ = Dom7;

    // Theme
    var theme = 'auto';
    if (document.location.search.indexOf('theme=') >= 0) {
    theme = document.location.search.split('theme=')[1].split('&')[0];
    }

    // Init App
    var app = new Framework7({
    id: 'io.framework7.testapp',
    root: '#app',
    theme: theme,
    on:{
    pageInit : function(page){
       console.log("page init function called aakash");
       document.addEventListener("backbutton", app.methods.onBackKeyDown, 
    false);
    }
     },
    pushState:true,
    data: function () {
    return {
      user: {
        firstName: 'John',
        lastName: 'Doe',
      },
    };
    },
   methods: {
     helloWorld: function () {
      console.log('dfvdfv')
      app.dialog.alert('Hello World!');
     },
     onDeviceReady: function() {


     },

    onBackKeyDown: function() {

       console.log("back button pressed");


      }
   },
    routes: routes,
    vi: {
      placementId: 'pltd4o7ibb9rc653x14',
     },

});

我遇到过这个问题,用方法解决了

(如果您使用的是 webview)

Android Java 本机代码:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        myWebView.evaluateJavascript("javascript:goBack();", null);
    }
    return true;
}

javascript 在你的框架应用 js

function goBack() {
   myView.router.back();
}

或者

function goBack() {
$('.back').trigger('click')
}

在 jquery 函数中试试这个

嗯,我有办法了!!这对我有用

var app = new Framework7({
  initOnDeviceReady:true,
  view:{
     pushState:true,

    } 
});