как обнаружить кнопку возврата андроида в framework7 - PullRequest
1 голос
/ 08 марта 2019

Я недавно строю приложение, используя framework7. Мое приложение состоит из HTML-файла, в котором есть все представления. Для навигации между видами в нижней части страницы присутствует кнопка «Назад».

для кнопки возврата я использую код

var myView = app.view.current;

myView.router.back();

Если я нажимаю кнопку «Назад» на устройстве Android, приложение закрывается

Как использовать кнопку «Назад» на телефоне Android для перехода на главную страницу.

Я использую pushState: true , но у меня это не работает.

ниже находится мой файл 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',
     },

});

Ответы [ 2 ]

3 голосов
/ 08 марта 2019

Я столкнулся с этой проблемой и решил ее с помощью метода

(Если вы используете веб-просмотр)

Собственный Java-код Android:

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

javascript в вашем javascriptфреймворк js

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

или

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

Попробуйте это в функции jquery

0 голосов
/ 12 марта 2019

Ну, у меня есть решение !! Это сработало для меня

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

    } 
});
...