Intereting Posts
Нарушение счетчика активности экземпляра StrictMode (2 экземпляра, 1 ожидается) при вращении полностью пустой активности Задать настройку экрана в интерактивном режиме Сбой приложений после изменения ориентации экрана Фрагмент карты google внутри scrollView Как показать список всех папок в файловой системе Android специально для SD-карты Не запускать эмулятор Android после обновления sdk до 23.0.5 Пауза / Возобновление MediaCodec Тестирование Android JUnit4 Существующая библиотека для воспроизведения увеличенного изображенияПросмотр эффекта приложения Foursquare android? Невозможно разрешить конструктор (Android Intent) Android не может найти метод символов getMap () Синхронизировать две позиции ListView Facebook Android SDK 3.0, как обмениваться контентом без LoginButton Требуется ли NDK для хорошей производительности при разработке Android-игры? Как импортировать существующий проект java в студию Android?

Как отключить Crashlytics / Fabric во время выполнения, когда пользователь меняет настройки

Я использую com.crashlytics.sdk.android:crashlytics:2.3.2@aar версию crashlytics и отключить отчеты о сбоях, если пользователь откажется.

Я пробовал это решение, но все же он не работает, отчеты о сбоях все еще отправляются в Fabric.

Я делаю это как:

 Preference errorReportingEnabled = findPreference(MatlistanPrefs.BUGREPORTS_SEND_AUTOMATICALLY); errorReportingEnabled.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { Boolean value = (Boolean) newValue; Fabric.with(DataCollectionSettingsActivity.this, new Crashlytics.Builder(). core(new CrashlyticsCore.Builder().disabled(!value).build()) .build()); return true; } }); 

Есть ли какое-либо рабочее решение для этой проблемы?

Благодарю.

Ткань при инициализации создает экземпляр singleton и возвращает тот же самый экземпляр всякий раз, когда вы вызываете Fabric.with(...) . Таким образом, ваш код внутри onPreferenceChange не влияет на класс Fabric.

Единственное решение этой проблемы может заключаться в том, что сама библиотека предоставляет методы включения или отключения краш-тестов. Итак, до сих пор ( crashlytics:2.5.2 ) нет решения для включения / отключения краш-тестов во время выполнения. Вы должны сделать это при запуске следующим образом:

 Fabric.with(this, new Crashlytics.Builder() .core(new CrashlyticsCore.Builder() .disabled(true).build()).build());