Похоже, что в Android 2.2 появилась новая функция для отправки отчетов о сбоях, как указано в ссылках:
Как использовать эту функцию? Он автоматический для каждого скачанного с маркета приложения (он же Google Play Store)? Где можно найти дополнительную информацию об этой функции?
Кроме того, можно ли настроить отправляемые данные, например, с помощью DefaultExceptionHandler, и добавить собственное описание сбоя?
ПРИМЕЧАНИЕ:я знаю, что существует множество инструментов для отправки отчетов о сбоях (например, ACRA), но я хочу сначала проверить, можно ли использовать то, что уже есть.
РЕДАКТИРОВАТЬ: Мне удалось изменить переданное дальше исключение, надеясь, что это также изменит отчет, отправляемый на веб-сайт разработчика Google.
Вот пример кода, который подходит для этого:
private static class DefaultExceptionHandler implements java.lang.Thread.UncaughtExceptionHandler
...
@Override
public void uncaughtException(Thread t, Throwable e)
{
final StackTraceElement[] exceptionStackTrace = e.getStackTrace();
Exception exception = new Exception("my new exception!", e);
final StackTraceElement[] newExceptionStackTrace = new StackTraceElement[exceptionStackTrace.length + 1];
System.arraycopy(exceptionStackTrace, 0, newExceptionStackTrace, 1, exceptionStackTrace.length);
newExceptionStackTrace[0] = new StackTraceElement("TEST CLASS", "TEST METHOD", "TEST FILE", 0);
exception.setStackTrace(newExceptionStackTrace);
_defaultUEH.uncaughtException(t, exception); //this will hopefully call the default handling of the exception for reporting
}