Как отобразить пользовательское сообщение перед принудительным закрытием или появлением сообщения ANR - PullRequest
1 голос
/ 12 августа 2010

Как я могу отобразить пользовательское сообщение об ошибке до того, как для приложения произойдет выкуп или сообщение, которое приложение не отвечает"вместо приложения не отвечает сообщение.

Спасибо

Ответы [ 2 ]

2 голосов
/ 17 октября 2011

Я добавлю к ответу Райана, что вы можете обрабатывать все критические исключения без необходимости заключать большую часть кода в try-catch.Для этого есть прекрасный метод: Thread.setDefaultUncaughtExceptionHandler.Это в основном полезно для сообщений об ошибках.Чтобы показать сообщение, вам нужно установить обработчик в Application.onCreate (вам нужно будет установить <application> s android:name в манифесте для вашего пользовательского класса Application), сохранить контекст приложения и затем использовать егопоказывать уведомление в строке состояния - оно остается после принудительного закрытия вашего приложения.Кроме того, чтобы диалоговое окно Force Close появлялось вместо того, чтобы просто зависать после того, как ваш обработчик исключений работал, вы должны вызвать defaultHandler = Thread.getDefaultUncaughtExceptionHandler(); в конструкторе обработчика, а затем в конце public void uncaughtException(...) call defaultHandler.uncaughtException(thread, ex);.

2 голосов
/ 12 августа 2010

Вы должны убедиться, что обрабатываете любые исключения.Вот что вызывает близкую силу, непостижимое исключение.Что касается сообщения «не отвечает», опять же, это зависит от разработчика.Вам нужно порождать новые потоки и выполнять асинхронные задачи, чтобы обработка не блокировала основной поток, на котором работает пользовательский интерфейс.Когда основной поток заблокирован, то есть сообщение «не отвечает».Если вы создаете новую ветку, вы можете отобразить, какое сообщение вы хотите, чтобы пользователь уведомил его о том, что что-то обрабатывается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...