Witam.
Proszę o pomoc w rozwiązaniu problemu:
Jak zrobić aby aktywność nie trafiała na stos aktywności? Dodam że metoda onPause() { super.onPause(); this.finish(); } nie spełnia tego zadania i aktywność nadal jest widoczna na stosie.
Pozdrawiam.
Poszukaj na temat "no history".
w pliku manifestu ustawiłem noHistory na true i nadal po wciśnięciu przycisku home itd aktywność nadal jest widoczna na stosie...
Możesz skorzystać z finishAndRemoveTask()
z poziomu kodu. W manifeście flaga, która Cię interesuje to excludeFromRecents
.
Jeżeli chcesz nadpisywać zachowanie przycisku home, to na pewno nie przez onPause()
, bo to tylko proszenie się o kłopoty. Poszukaj informacji o tym jak się nadpisuje ten przycisk.
Natomiast dużo ważniejsza sprawa, to po co chcesz to w ogóle robić? O ile jeszcze jestem w stanie zrozumieć usuwanie aplikacji przy naciśnięciu jakiegoś własnego przycisku (ale i tak trzeba mieć dobry powód do tego), to robienie tego przy naciśnięciu home, to prawie na pewno jakaś UXowa paranoja.
Dzięki za odpowiedz metoda finishAndRemoveTask() rozwiązała mój problem. Chciałem aby aktywność nie była widoczna na stosie ponieważ jest ona konfiguracją widgetu ekranu domowego i następuje w niej zapisanie preferencji, nie chciałem aby po usunięciu widgetu z ekranu domowego nadal była możliwość dodawania preferencji na jego Id jeżeli jego już fizycznie nie ma na ekranie.
dziękuję i pozdrawiam