android - ACRA 以编程方式更改 formUri

标签 android acra

由于 ACRA.init 只能被调用一次并且 ACRA.getConfig() ACRA.getConfig().setFormUri(uri) 均已弃用。一旦 ACRA 已初始化,是否有任何正确的方法以编程方式更改 formUri?

在我们的开发应用程序中,我们正在针对多个环境进行测试,并且我们有不同的 formUris 来存储 ACRA 错误,因此每次我们更改到新环境时,我们都必须重新配置 ACRA 以将所有错误发送到该 formUri。

现在我们正在使用 ACRA.getConfig().setFormUri(uri).

但我们担心这在不久的将来是不可能的,那么有没有其他选择呢?

最佳答案

没有计划允许多次初始化 ACRA。它会给组件带来不必要的复杂性,您需要尽可能坚如磐石。

但是您仍然可以通过编程方式设置 formUri。您只能设置一次。

你显然在运行时有一些事件知道/确定你在哪个环境中。所以你可以在那个时候设置一个 SharedPreference 来概述目标 formUri。重新启动应用程序并让 formUri 来自 SharedPreference。

注意这是一个非常不寻常的用例。为什么你有一个单独的 formUri 用于一个应用程序的不同环境?为什么不根据报告中的某些属性(例如环境)创建一个错误 repo 和过滤报告?

恕我直言,即使是应用程序的开发版本和发布版本也有单独的错误报告服务器是一个净负面因素,因为这意味着您在开发版本和发布版本之间还更改了一件您不需要的东西。移动部件更少,复杂性更低 == 更坚固。

关于android - ACRA 以编程方式更改 formUri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36909342/

相关文章:

android - 从以前的 Activity 中检测按钮

java - Java 中的工厂类 - Android

Android Studio Gradle - 无法解析依赖项 : acra

android - ACRA - 在没有任何崩溃对话框的情况下静默发送崩溃报告

android - 为什么 ACRA 库抛出异常对话框甚至应用程序当前未运行?

java - Acra 在 MainActivity 的 onCreate() 中无法正常工作?

android - 我的 PreferenceScreen 上的 slider

java - 如何在 Android 上运行普通的旧 java 应用程序

Android VideoView 无法设置背景色

android - ACRA 集成和 Google 云端硬盘