Ecco i passaggi per riprodurre:ionico registerBackButtonAction non funziona
- Creare un progetto ionico di base "prova di avviamento ionica sidemenu"
- Aggiungi la piattaforma Android "piattaforma ionica aggiungere Android"
In app.js aggiungere il codice:
$ionicPlatform.registerBackButtonAction(function (event) { alert("back button action handler"); event.preventDefault(); }, 999);
Questo codice può essere aggiunto nel metodo .run o nel $ ionicPlatform.ready() il metodo - lo stesso risultato, non worki ng
- "ionica accumulo Android", quindi "Carica ionica" -> oppure manualy mettere l'apk su un dispositivo
[BUG] - l'allarme non viene visualizzata e viene eseguita vista cronologia di navigazione. È come se questa azione che provo a registrare non venga presa in considerazione.
Cosa sto sbagliando? Ho provato questo codice anche in un controller, anche e.stopPropagation() o e.stopImmediatePropagation non ha ancora successo.
Ho gli ultimi Ionic (1.4.5) e Cordova 4.3.0, testati su alcuni dispositivi Samsung. In Ripple funziona bene.
Prova ad ascoltare per questo evento utilizzando document.addEventListener ('BackButton', function() {alert ('BackButton rilevato')}, false); – JimTheDev
Potrebbe non funzionare ma questo è l'evento in cui Ionic sta eseguendo il wrapping, quindi dovrebbe essere licenziato. – JimTheDev
Se uso document.addEventListener ('backbutton', ......) funziona, ma non ho accesso ai servizi ionici in quel callback per controllare il nome dello stato corrente, controllare la cronologia, per aggiungere un condizione per eseguire un back nella storia o ionic.Platform.exitApp() a seconda dello stato. – gmodrogan