Как начать работу с UncaughtExceptionHandler, если это основной поток потерпел крах? - PullRequest
6 голосов
/ 08 февраля 2010

Я пытаюсь запустить сообщение об ошибке, если обнаружена необработанная исключительная ситуация. Проблема в исключениях, выбрасываемых из основного потока. Есть ли способ запустить операцию, если произошел сбой основного потока?

Ответы [ 3 ]

7 голосов
/ 08 февраля 2010

Подход, который я видел, использовался для перехвата ошибок в UncaughtExcpetionHandler, это записать данные о сбое в файл и затем запустить обработку ошибок Activity, когда приложение перезапускается на основе наличие файла данных о сбое.

В зависимости от того, что вы хотите, чтобы ваш Activity делал, это может сработать для вас.

1 голос
/ 11 мая 2012

Вы можете добавить атрибут android:process=":report_process" к элементу <activity>, который относится к вашей активности в отчете об ошибках в AndroidManifest.xml.

По умолчанию действия, относящиеся к одному и тому же приложению, будут выполняться в том же процессе, который определяется именем вашего пакета. Установив атрибут android:process, вы можете переопределить это. android:process начиная с : относится к частному идентификатору в вашем пакете, так что вы можете запустить действие в новом процессе, не конфликтуя с процессами других пакетов.

1 голос
/ 08 февраля 2010

Я думаю, что это неправильный путь. Что вам нужно сделать, так это убедиться, что вы перехватываете эти исключения, и при их обнаружении выдает сообщение об ошибке.

...