2016-01-27 13 views
6

Czy jest jakaś funkcja, którą mogę wywołać, która nasłuchuje, czy aplikacja ma wkrótce wyjść, zamknąć się lub przejść do tła .. Zasadniczo każde zdarzenie, które oznacza "użytkownik przestał używać Aplikacja"?Funkcja jonowego uruchamiania przed zamknięciem aplikacji

Jestem moją aplikacją, tworzę "dziennik użytkownika", który śledzi użytkownika podczas nawigacji po aplikacji. Zamiast wysyłać niewielkie ilości danych do serwera w sposób ciągły, ponieważ te zdarzenia mają miejsce, chcę wysłać całą partię za jednym zamachem, zanim użytkownik przestanie korzystać z aplikacji (ponownie, czy oznacza to całkowite zamknięcie aplikacji, wysłanie jej do tło itp.)

I wreszcie, jeśli taka funkcja rzeczywiście istnieje. Gdzie umieścisz tę funkcję? W twoim app.js? Czy musisz umieścić tego słuchacza w każdym kontrolerem swojej aplikacji?

Odpowiedz

2

Można sprawdzić tę listę zdarzeń z docs Cordova:

https://cordova.apache.org/docs/en/5.4.0/cordova/events/events.html

W szczególności Pause event:

Zdarzenie gdy aplikacja umieszczana jest w tle.

document.addEventListener ("pause", yourCallbackFunction, false);

+0

dziękuję, a gdzie byś włożył tę funkcję? App.js lub mieć takiego słuchacza w każdym ze swoich kontrolerów? – Tiwaz89

+1

IMO można dodać te detektory zdarzeń w app.js wewnątrz funkcji 'app.run()' – beaver

+0

Działa to dobrze w przypadku, gdy ktoś przesuwa się z aplikacji, ale czy istnieje sposób wywołania funkcji, gdy minimalizuję lub przełączyć się do innej aplikacji? –

3

Ten kod działa w macierzystej aplikacji ionic2 oraz w przeglądarce. W przeglądarce dzieje się to po naciśnięciu przycisku przeładowania adresu URL lub zamknięciu karty przeglądarki.

platform.pause.subscribe(e => { 
    this.OptionsSave(); 
}); 

window.addEventListener('beforeunload',() => { 
    this.OptionsSave(); 
}); 
Powiązane problemy