Oto kroki, aby odtworzyć:Ionic registerBackButtonAction nie działa
- utworzyć podstawowy projekt jonową "jonowy testowym start sidemenu"
- Dodaj platformie Android "jonowy platforma dodać android"
W app.js dodać kod:
$ionicPlatform.registerBackButtonAction(function (event) { alert("back button action handler"); event.preventDefault(); }, 999);
Ten kod może być dodawany w sposobie .run lub w $ ionicPlatform.ready() metody - sam rezultat, nie worki ng
- "jonowy budować android", a następnie "jonowy Upload" -> lub recznie umieścić apk na urządzeniu
[BUG] - alert nie jest pokazana i widok historia nawigacji jest wykonywana. To jest tak, że akcja, którą staram się zarejestrować, nie jest brana pod uwagę.
Co robię źle? Próbowałem ten kod również w kontrolerze, również e.stopPropagation() lub e.stopImmediatePropagation nadal nie powiodło się.
Mam najnowsze wersje Ionic (1.4.5) i Cordova 4.3.0, testowane na niektórych urządzeniach Samsung. W Ripple działa dobrze.
Spróbuj słuchać tego wydarzenia za pomocą document.addEventListener ('BackButton', function() {alert ('wykryty BackButton')}, false); – JimTheDev
To może nie zadziałać, ale jest to zdarzenie, które owija Ionic, więc powinno zostać zwolnione. – JimTheDev
Jeśli używam document.addEventListener ('backbutton', ......) to działa, ale nie mam dostępu do usług jonowych w tym wywołaniu zwrotnym, aby sprawdzić nazwę bieżącego stanu, sprawdzić historię, dodać warunek wykonania wstecz w historii lub ionic.Platform.exitApp() w zależności od stanu. – gmodrogan