Я пытаюсь предотвратить закрытие моего приложения cordova
для Android при нажатии физической кнопки «Назад» на моем мобильном телефоне (Android), вместо этого я хочу открыть диалоговое окно для двойного нажатия кнопки перед закрытием приложенияно я не могу понять, как правильно вызвать или прослушать кнопку возврата.
Вот мои вкладки, использующие framework7
<div class="toolbar tabbar-labels toolbar-bottom-md">
<div class="toolbar-inner">
<a href="#view-home" class="tab-link tab-link-active">
<i class="icon f7-icons ios-only">home</i>
<i class="icon f7-icons ios-only icon-ios-fill">home_fill</i>
<i class="icon material-icons md-only">home</i>
<span class="tabbar-label">Home</span>
</a>
<a href="#view-catalog" class="tab-link">
<i class="icon f7-icons ios-only">list</i>
<i class="icon f7-icons ios-only icon-ios-fill">list_fill</i>
<i class="icon material-icons md-only">view_list</i>
<span class="tabbar-label">catalog</span>
</a>
<a href="#view-settings" class="tab-link">
<i class="icon f7-icons ios-only">settings</i>
<i class="icon f7-icons ios-only icon-ios-fill">settings_fill</i>
<i class="icon material-icons md-only">settings</i>
<span class="tabbar-label">Settings</span>
</a>
</div>
</div>
Замечание по инициализации Framework7, которое я уже объявил pushState
var app = new Framework7({
root: '#app',
id: 'io.HomeApplication.Homeapp',
name: 'My Application',
theme: 'auto',
pushState :true,
//other methods,data here
Инициализация представлений
// Init/Create views
var homeView = app.views.create('#view-home', {
url: '/',
on: {
pageInit: function (e, page) {
// do something when page initialized
document.addEventListener("backbutton", onBackKeyDown, false);
}
}
});
var catalogView = app.views.create('#view-catalog', {
url: '/devices/'
});
var settingsView = app.views.create('#view-settings', {
url: '/settings/'
});
Сначала я вызывал onBackKeyDown
как функцию.
function onBackKeyDown(){
}
Но теперь я поместил его на свойapp
метод.
// App root methods
methods: {
onBackKeyDown: function(){
app.dialog.alert('this was called');
},
Но, тем не менее, когда я нажимаю кнопку на моем мобильном телефоне, он не выполняет никаких предложений, было бы здорово.