ACRA以编程方式更改formUri



由于ACRA.init只能调用一次,并且ACRA.getConfig()ACRA.getConfig().setFormUri(uri)都不推荐使用。一旦ACRA已经初始化,是否有任何正确的方法可以通过程序更改formUri?

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

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

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

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

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

很明显,您在运行时有一些事件知道/确定您所处的环境。因此,您可以在该点设置SharedPreference,概述目标formUri。重新启动应用程序,并使formUri来自SharedPreference。

注意:这是一个极不寻常的用例。为什么对于一个应用程序的不同环境,您有一个单独的formUri?为什么不根据报告中的某些属性(如环境)创建一个错误回购和筛选报告呢?

IMHO为应用程序的开发和发布版本提供单独的错误报告服务器是一个负面影响,因为这意味着在开发和发布之间还有一件你不需要改变的事情。更少的移动部件,更少的复杂性==更大的稳健性。

但我们担心这在不久的将来是不可能的

你是对的,4.9.0删除setFormUri

那么,还有其他选择吗?

目前没有。你可以在这里观看讨论。

5.2.0版本的ACRA将允许重新初始化,因此正确的方法是更改配置重新初始化。

具体来说,ACRA.init()将成功,但在第一次之后会对所有init发出严厉警告,但它将丢弃旧配置,并从新配置中获取设置。

相关内容

  • 没有找到相关文章

最新更新