Глобальная обработка ошибок в приложении Android с Roboguice

Я работаю над приложением для Android, которое использует инфраструктуру внедрения зависимостей Roboguice. Поэтому большую часть времени мы расширяем RoboActivity, RoboListActivity и тому подобное.

Теперь я хотел бы представить некоторую глобальную обработку ошибок, которая будет показывать некоторое предупреждение или активность ошибки в случае сбоя приложения.

Я сделал это раньше, реализовав базовое действие, как это:

public class BaseActivity extends Activity
{


@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    Thread.setDefaultUncaughtExceptionHandler(new GeneralError(this));
}

где я определяю обработчик исключений по умолчанию и все остальные действия, производные от этого.

Теперь мне интересно, как это достигается с помощью Roboguice?

1 ответ

Вот пример грубого кода psuedo, с которого стоит начать. Он использует события roboguice, чтобы немного облегчить некоторые из этих сквозных задач.

public class GlobalErrorHandler {
  // injects the current activity here
  @Inject Context context;


  public void onCreate(@Observes OnCreateEvent e) {
    // Wires up the error handling
    Thread.setDefaultUncaughtExceptionHandler(new GeneralError(context));
  }
}

public class MySpecificActivity {
  // required in every activity that needs error handling
  @Inject GlobalErrorHandler errorHandler;

}  
Другие вопросы по тегам