Cordova - jak wyłączyć aplikację?

0

Mam aplikację w Cordovie przeznaczoną na Androida (inne platformy mnie nie interesują na razie). Chciałabym dodać przycisk, który aplikację wyłączy. Mam następujący kod:

    quitGame() {
        navigator.app.exitApp();
    }

Niestety to nie wyłącza aplikacji, tylko ją deaktywuje - tzn. dalej ją widać na liście uruchomionych aplikacji. Jak to zrobić prawidłowo?

2

Prawidłowo będzie wywalić ten przycisk z aplikacji. To nie Windows.

2

Zdziwiłbym się gdyby dało się coś takiego zrobić. Na Androidzie można ubić proces w zasadzie tylko za pomocą System.exit(0), ale to też nie usunie aplikacji z podręcznej listy. W praktyce stosuje się to i tak niezwykle rzadko. Na iOS'ie czegoś takiego w ogóle nie da się zrobić (tak, żeby przeszło pomyślnie recenzję w AppStore). Biorąc te dwie rzeczy pod uwagę, to wątpię, żeby Cordova coś takiego udostępniała.

0

Lol, no tego się nie spodziewałam :D Czyli jak użytkownik chce wyłączyć aplikację, to musi to zrobić z listy poziomów aplikacji po prostu?

1

Na platformach mobilnych nie ma czegoś takiego, jak zakończenie aplikacji. Tym zarządza system, jeśli jest wolna pamięć to program może rezydować w pamięci, żeby ponowne uruchomienie było szybsze. Wszelkie kombinacje zmierzające do ubijania procesu aplikacji to błąd, a poza nielicznymi wyjątkami (jak np wyjście z pełnoekranowej gry) implementowanie opcji Zakończ to antypattern. Użytkownik wciska Home i wraca do pulpitu, albo wciska wstecz. Wytłumacz mi po co zakańczać aplikację i jeszcze ubijać jej proces?

W której aplikacji od Google widziałaś opcję Zakończ i czy jej brak ci w czymś przeszkadzał? Pomyśl, skoro już ci się nie chce czytać wytycznych producenta systemu...

2
aurel napisał(a):

Czyli jak użytkownik chce wyłączyć aplikację, to musi to zrobić z listy poziomów aplikacji po prostu?

W zasadzie tak. Czasami jeśli proces aplikacji zostanie zabity, to Android po jakimś czasie sam posprząta taką aplikację z listy. iOS nie wiem czy też sprząta nieaktywne procesy. Ale tam nawet na ekranie w aplikacji nie ma mowy o czymś takim jak "pomniejsz aplikację". Jedyny sposób na pomniejszenie aplikacji to przycisk systemowy. Na Androidzie też się tego raczej unika. A zabicie procesu z poziomu kodu wykorzystuje się tylko do debugowych wersji aplikacji, żeby zresetować konfigurację, zmienić środowisko itp.

0

Wytłumacz mi po co zakańczać aplikację i jeszcze ubijać jej proces?

Cały projekt piszę tylko dla celów edukacyjnych. Chciałam po prostu dowiedzieć się, jak to się robi. Skoro się nie powinno, to po temacie :)
Dzięki wszystkim za wyjaśnienia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0