Moja aplikacja na Androida ma WebView
, która wymaga wtyczki Flash. Przeglądarka udostępni link do rynku Adobe Flash, jeśli nie jest zainstalowany. Po zainstalowaniu Flasha jedynym sposobem na utworzenie instancji w mojej aplikacji jest wymuszenie zamknięcia i ponownego uruchomienia aplikacji. Chciałbym przedstawić użytkownikowi przycisk, który robi to za niego, ponieważ jest zbyt skomplikowany dla zwykłych użytkowników, aby otworzyć swoje działające procesy i wymusić ręczne zamknięcie aplikacji. Jaki jest kod Java do wdrożenia takiego przycisku restartu?Jak wymusić zamknięcie aplikacji na Androida i zrestartować ją?
Odpowiedz
można ponownie uruchomić aplikację w dwóch etapach:
- Zabij swój własny proces. Użyj numeru
Process.myPid()
, przekazując go doProcess.killProcess()
. Aby to zadziałało, może być konieczne dodanie uprawnienia do manifestu (prawdopodobnieandroid.permission.KILL_BACKGROUND_PROCESSES
). - Zanim zabijesz własny proces, zarejestruj alarm z oczekującym zamiarem ponownego uruchomienia swojej działalności w najbliższej przyszłości. Drugim parametrem dla
alarm.set
jesttriggerAtTime
. Ustawienie na 0 powoduje natychmiastowe uruchomienie alarmu. Przykład tutaj ustawia czas, aby uruchomić aplikację sekundę w przyszłość.
Kodeks idzie tak:
AlarmManager alm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
alm.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, PendingIntent.getActivity(this, 0, new Intent(this, this.getClass()), 0));
Jak uzyskać dostęp do tego obiektu 'Process' z mojego głównego" Activity "? – JoJo
Te metody w procesie są statyczne. Powinieneś po prostu móc do nich zadzwonić. – mportuesisf
Tak, to działa. Mamy przycisk administratora, który wykonuje czyste zamknięcie różnych rzeczy przed wywołaniem 'Process.sendSignal (Process.myPid(), Process.SIGNAL_KILL)' – jtoberon
Przypuszczam, że można zadzwonić pod numer finish, aby zatrzymać aktywność, ale nie będzie można ponownie uruchomić aplikacji. To wymagałoby (jeśli to możliwe) root i byłby to okropny pomysł. Oznaczałoby to, że jakakolwiek aplikacja mogłaby się uruchomić, gdy tylko by chciała: co jest złym pomysłem i faktycznie byłaby błędem, gdyby była możliwa.
Czy 'Activity.finish' faktycznie wymusza zamknięcie aplikacji? Wygląda na to, że tylko zapamiętuje aplikację w pamięci. Kiedy uruchomiłem kod, zamknęło aplikację. Ale kiedy poszedłem zarządzać aplikacją, przycisk "Wymuś zatrzymanie" był nadal aktywny. Ten przycisk powinien być wyłączony, jeśli aplikacja nie znajduje się w pamięci. Z jakiegoś powodu Flash wymaga, aby aplikacja była poza pamięcią, a następnie ponownie uruchomiona, aby mogła zostać rozpoznana przez "WebView". – JoJo
@JoJo: Activity.finish zamyka tylko bieżącą aktywność. Czy zakończyłeś wszystkie czynności w aplikacji lub tylko jedną? Ponieważ jeśli jakieś działania lub procesy w tle nadal istnieją, to oczywiście aplikacja nadal będzie istniała. –
Dodałem 'this.finish()' na końcu 'Activity.onCreate'. Tak więc po uruchomieniu aplikacji natychmiast się zamyka. Czy nie powinno to spowodować zamknięcia jedynej działalności? – JoJo
można wyjście z aplikacji z System.exit (0): ten nie wymaga pozwolenia na swojej aplikacji
- 1. Pełne zamknięcie aplikacji na androida phonegap
- 2. Jak zrestartować \ numerowanie przypisów na każdej stronie
- 3. Android - uniemożliwić użytkownikowi zamknięcie aplikacji
- 4. Jak wymusić wersję aplikacji na AWS Elastic Beanstalk
- 5. Jak mogę wymusić zamknięcie wszystkich wątków programu po zamknięciu programu?
- 6. Jak uruchamiać aplikacje na Androida w mojej aplikacji na Androida?
- 7. Użyj aplikacji, aby ocenić ją na rynku.
- 8. Jak zrestartować Postgresql
- 9. Wdrażanie aplikacji na Androida
- 10. Jak zrestartować usługę RabbitMQ
- 11. jak zrestartować repozytorium git
- 12. Jak zatrzymać i zrestartować serwer z memcached?
- 13. Jak wymusić eof na stdin?
- 14. Jak zrestartować Meteor
- 15. Jak zrestartować Scrapy pająka
- 16. Jak bezpiecznie zrestartować TortoiseSVN?
- 17. "Uruchom jako" brakuje aplikacji na Androida
- 18. Co to jest ślad aplikacji i jak ją obliczyć?
- 19. Jak zmienić motyw w aplikacji na Androida?
- 20. Jak mogę automatycznie przetestować funkcjonalność aplikacji na iOS i Androida?
- 21. Globalny obiekt aplikacji na Androida
- 22. Jak wykrywać wyjście aplikacji na Androida?
- 23. Jak zmienić domyślną czcionkę aplikacji na Androida?
- 24. Jak uruchomić valgrind w aplikacji na Androida?
- 25. Dzielenie aplikacji na Androida do dwóch "oddziałów", darmowych i płatnych
- 26. Symfony2: Jak wymusić HTTPS dla całej aplikacji?
- 27. Aktualizacja aplikacji Xamarin na Androida
- 28. Jak zrobić kopię recenzji aplikacji na Androida?
- 29. Jak wyczyścić SharedPreferences spoza aplikacji na Androida
- 30. Jak uzyskać nazwę aplikacji na Androida?
Dlaczego dokładnie trzeba wymusić zakończenie i ponownie uruchomić aplikację, aby zainicjować rzeczy? Po ponownym zainstalowaniu lampy błyskowej wywołaj kod inicjujący. –
Czy naprawdę potrzebujesz zamknąć samą aplikację? Czy wystarczy zamknięcie działania, które obsługuje WebView, nie wystarczy? – Squonk
Wyjątek wyjątku: P –