По сути, это то, что я пытаюсь сделать, и ничего из того, что я пробовал, не работает. Всякий раз, когда происходит сбой, перед отправкой отчета ACRA я хотел бы отобразить EditText в диалоговом окне или что-то, что позволяет пользователю точно описать, что он делал, когда это произошло, и дать мне дополнительный контекст для отладки. Я знаю, что могу добавить любое настраиваемое поле в отчет о сбое, которое захочу, с помощью ACRA.getErrorReporter().putCustomData(), но проблема заключается в том, чтобы найти способ отобразить представление, в котором она могла бы ввести этот текст, когда приложение аварийно завершает работу. Логически это кажется невозможным, поскольку приложение разбилось, что, казалось бы, помешало мне создать экземпляр любого типа представления, но я решил опубликовать здесь, чтобы узнать, есть ли у кого-нибудь творческие решения, прежде чем я сдаюсь.
Добавить пользовательский ввод в отчет о сбоях ACRA
Ответы (2)
В ACRA 4.6.1 вы можете настроить собственный диалог, который будет отображаться при сбое вашего приложения. Вы можете использовать это, чтобы включить EditText для захвата данных и поместить их в пользовательские данные ACRA.
person
William
schedule
22.02.2015
Прохладный. Какой метод я использую для этого?
- person ethan123; 23.02.2015
Укажите значение атрибута «reportDialogClass» в конфигурации ACRA. Он должен быть подклассом BaseCrashReportDialog.
- person William; 23.02.2015
Лучший способ, который я нашел, - это скопировать весь CrashReportDialog
в новый класс и изменить реализацию. BaseCrashReportDialog
настолько прост, что вам обычно приходится писать всю функциональность в CrashReportDialog
самостоятельно. С другой стороны, вы не можете расширить CrashReportDialog
, потому что он скрывает много полезных переменных как приватные. Затем вы можете изменить
protected View buildCustomView(Bundle savedInstanceState)
реализация. К сожалению, все макеты задаются программно, и вы не можете просто заменить один layout.xml на другой.
person
ZimaXXX
schedule
14.04.2016