Android 当用户更改首选项时,如何在运行时禁用Crashlytics/Fabric
我正在使用Android 当用户更改首选项时,如何在运行时禁用Crashlytics/Fabric,android,crashlytics,twitter-fabric,Android,Crashlytics,Twitter Fabric,我正在使用com.crashlytics.sdk.android:crashlytics:2.3。2@aarcrashlytics的版本,如果用户选择退出,我将禁用崩溃报告 我尝试了解决方案,但仍然不起作用,碰撞报告仍被发送到Fabric 我是这样做的: Preference errorReportingEnabled = findPreference(MatlistanPrefs.BUGREPORTS_SEND_AUTOMATICALLY); errorReportingEnabled
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;
}
});
这个问题有有效的解决办法吗
谢谢。初始化时的结构将创建一个单例实例,并在调用
Fabric.with(…)
时返回相同的实例。所以,您的onPreferenceChange
中的代码对Fabric类没有影响
若库本身提供了启用或禁用crashlytics的方法,则此问题的唯一解决方案是。因此,到目前为止(crashlytics:2.5.2
)没有在运行时启用/禁用crashlytics的解决方案。您必须在启动时这样做:
Fabric.with(this, new Crashlytics.Builder()
.core(new CrashlyticsCore.Builder()
.disabled(true).build()).build());