Mam aplikację, w której na stronie głównej mam przyciski do nawigacji po aplikacji.
Na tej stronie mam przycisk „EXIT”, który po kliknięciu powinien przenieść użytkownika na ekran główny telefonu, na którym znajduje się ikona aplikacji.
Jak mogę to zrobić?
android
exit
back-button
poojan9118
źródło
źródło
Być może możesz spróbować czegoś takiego
Załóżmy, że w naszej aplikacji mamy szereg działań (powiedzmy dziesięć) i musimy wyjść bezpośrednio z tego działania. Co możemy zrobić, to stworzyć intencję i przejść do działania roota i ustawić flagę w intencji jako
dodaj też dodatkowe intencje, takie jak boolean
Następnie w działaniu root sprawdź wartość
boolean
i zgodnie z tym wywołaniem kończącym () wonCreate()
działaniu rootźródło
onNewIntent
. Ponieważ intnet.getExtras () wciąż ma wartość NULL.RootActivity
zamiast wznawiać go ze stosu. Sprawdź tutaj, aby przezwyciężyć ten stackoverflow.com/a/26258455/609782Jest prawdopodobnie tym, czego szukasz. Spowoduje to zamknięcie całej aplikacji i przejście do ekranu głównego.
źródło
To działa dobrze dla mnie.
Zamknij wszystkie poprzednie działania w następujący sposób:
Następnie w metodzie MainActivity onCreate () dodaj to, aby zakończyć MainActivity
źródło
najpierw zakończ swoją aplikację przy użyciu metody
finish();
a następnie dodaj poniższe wiersze w onDestroy do usuwania siły zamknięcia
źródło
super.onDestroy()
pokillProcess()
? czy ta linia zostanie w ogóle osiągnięta?Jeśli chcesz zakończyć działanie, możesz po prostu zadzwonić
finish()
. Jednak złą praktyką jest posiadanie przycisku wyjścia na ekranie.źródło
Niektórych działań nie chcesz ponownie otwierać po naciśnięciu przycisku Wstecz, np. Aktywność ekranu powitalnego, Aktywność ekranu powitalnego, Windows z potwierdzeniem. W rzeczywistości nie potrzebujesz tego w stosie działań. możesz to zrobić za pomocą => otwórz plik manifest.xml i dodaj atrybut
do tych działań.
LUB
Czasami chcesz zamknąć całą aplikację po pewnym naciśnięciu przycisku Wstecz. Tutaj najlepszą praktyką jest otwieranie okna głównego zamiast zamykania aplikacji. W tym celu należy zastąpić metodę onBackPressed (). zwykle ta metoda otwiera najwyższą aktywność na stosie.
LUB
Po naciśnięciu przycisku Wstecz chcesz wyjść z tego działania, a także nie chcesz dodawać tego do stosu działań. Wywołaj metodę finish () wewnątrz metody onBackPressed (). nie spowoduje to zamknięcia całej aplikacji. przejdzie do poprzedniej aktywności na stosie.
źródło
Nie zaleca się zamykania aplikacji Android. Zobacz to pytanie, aby uzyskać więcej informacji.
Użytkownik może zawsze zamknąć aplikację za pomocą przycisku strony głównej lub podczas pierwszej aktywności za pomocą przycisku wstecz.
źródło
(Próbowałem wcześniejszych odpowiedzi, ale brakuje im niektórych punktów. Na przykład, jeśli nie wykonasz czynności
return;
po zakończeniu, pozostanie kod aktywności jest uruchamiany. Musisz także edytować onCreate z return. Jeśli nie uruchomisz super.onCreate () pojawi się błąd czasu wykonywania)Powiedz, że masz
MainActivity
iChildActivity
.Wewnątrz ChildActivity dodaj to:
Wewnątrz onCreate MainActivity dodaj to:
źródło
Jest jeszcze jedna opcja, aby użyć metody FinishAffinity, aby zamknąć wszystkie zadania na stosie związane z aplikacją.
Zobacz: https://stackoverflow.com/a/27765687/1984636
źródło
Kiedy wywołasz metodę wykończenia, wywołana zostanie funkcja onDestroy () tego działania, która powróci do poprzedniej czynności na stosie działań ... Więc ... w celu zakończenia nie wywołuj metody finish ();
źródło
Oto co zrobiłem:
SomeActivity.java
QuitAppActivity.java
Zasadniczo to, co zrobiłeś, to wyczyszczenie wszystkich działań ze stosu i uruchomienie
QuitAppActivity
, które zakończy zadanie.źródło
Dodaj następujący po liniach
finish();
wonDestroy()
:źródło
Próbowałem wyjść z aplikacji przy użyciu następującego fragmentu kodu, to zadziałało dla mnie. Mam nadzieję, że to ci pomoże. Zrobiłem małe demo z 2 aktywnościami
pierwsza aktywność
Twoja inna działalność
źródło
Zrobiłem to w trybie obserwatora.
Interfejs obserwatora
Temat podstawowy
Podmiot podrzędny implementuje metodę wyjścia
MyApplication, którą aplikacja powinna rozszerzyć
}
Podstawowa aktywność
przetestujmy to
źródło
jeśli chcesz wyjść z aplikacji, umieść ten kod pod swoją funkcją
źródło
100% działa dobrze. to jest kod do wyjścia z aplikacji onClick (metoda)
źródło
Możesz po prostu dodać
moveTaskToBack(true)
przycisk wyjścia,onClickedListener
aby zminimalizować aplikację.Mam nadzieję, że to pomoże.
źródło
Może mój kod potrafi hepls (Main_Activity.java):
źródło
Jeśli chcesz wyjść z aplikacji. Następnie użyj tego kodu wewnątrz zdarzenia naciśnięcia przycisku. lubić:
źródło