Jak WYŁĄCZYĆ komunikaty „Niestety [aplikacja] przestała”?

11

Nie próbuję naprawiać tego błędu w żadnej konkretnej aplikacji. Próbuję po prostu całkowicie go stłumić globalnie, ponieważ jest to całkowicie bezużyteczne i bardzo rozprasza mnie, gdy tylko się pojawi.

Jak mogę sprawić, że mój telefon przestanie się wyświetlać „niestety [bla] przestał” wyświetlać komunikaty o błędach, gdy coś się zawiesza? (Mam uprawnienia roota, więc mogę edytować wszystko, co niezbędne).

użytkownik541686
źródło
1
Mehrdad, przechodziłem na zakładkę wszystkich aplikacji w ustawieniach-> aplikacje [lub tym podobne] i najpierw przechodziłem do ustawień aplikacji i wyłączam powiadomienia. Uruchom ponownie, zgaduję, że dzieje się to podczas uruchamiania? Sprawdź, czy to rozwiązuje problem. W przeciwnym razie potrzebujesz aplikacji, jeśli nie ma wbudowanej funkcji do mikro-zarządzania powiadomieniami. @Lucky jest na miejscu, sprawdź logcat, może pokazać ścieżkę do rozwiązania problemu.
moonbutt74,
3
Trochę posprzątałem komentarze, zaakceptujemy to, ponieważ nie chcesz odinstalować aplikacji i tym podobnych.
Mateusz
Czy mogę opublikować działające rozwiązanie dla Androida 5.1.1 (CM12.1)?
Firelord
@Firelord wiem, że jest już trochę za późno, ale chciałbym zobaczyć działające rozwiązanie!
Code Wiget
@ Ryan, przepraszam, nie pamiętam już mojego rozwiązania. :(
Firelord

Odpowiedzi:

7

Nie możesz (bez dostosowania kodu). Odpowiedni kod znajduje się w Menedżerze aktywności (patrz crashApplication()i handleAppCrashLocked()) i pomija te komunikaty o awariach tylko w 2 przypadkach:

  1. Aplikacja uległa awarii zbyt wcześnie od ostatniej awarii
  2. Aplikacja uległa awarii zbyt wiele razy
Matthew Read
źródło
0

Jak stwierdził Matthew, nie można zmienić tego zachowania bez odbudowania AOSP.

Oprócz dostosowywania ActivityManagerService.java, możesz również zmienić AppErrorDialog.java: ta klasa implementuje okno dialogowe i jest już zaprojektowana tak, aby wyłączać się po upływie limitu czasu, który jest dłuższy (5 minut w Marshmallow). Możesz go skrócić, obniżając DISMISS_TIMEOUTnp. Do kilku sekund i uzyskując mniej uciążliwe wyskakujące okienko

amonthedeamon
źródło