由于 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/