我已经接管了一个Android应用的维护工作,虽然有一些残留的问题或多或少已经得到解决,但是由于Android操作系统版本不同,仍然存在一些问题。
例如,使用MediaPlayer类发送Web请求时,操作系统发出请求之前剥离了自定义HTTP标头,但仅在Android 4.X(我经过详尽测试)上,这导致该特定功能失败,因为它依赖在这些标题上。
这是一个已知问题,我正在尝试解决,但是有条件的检查是一个好主意,例如
if (OS.VERSION == 4) {
knownIssueDialog(This feature will not work on your Android version... etc.");
}
显然,我们会在支持渠道上对此进行说明,但我想知道将这些已知问题也嵌入到软件中并在必要时,必要时进行展示是否是一个好主意(假设一切都已被跟踪)例如我上面所描述的。
基于此类问题,我们不断收到许多不良评论和大量支持电子邮件,因此在我看来,仅阻止已知无法正常工作的功能,它将为每个人节省大量时间和头痛。
我看到两个潜在的问题:
- 用户以前可能从未见过类似“已知问题”对话框的内容。很多用户可能根本不明白这意味着什么。
- 有一些开发开销-需要确保在代码中的某些地方跟踪这些问题。幸运的是,有了Java批注,诸如此类的条件检查可以在其之前
@KnownIssue
或类似的东西进行,这使得查找/修改它们非常简单。
在软件中添加“已知问题”提示是否有意义?
编辑:我将添加一个大约一个星期前才开始出现的问题。我已经修复了该问题的一半,并且不太可能能够为4.X修复此问题,因为导致问题的是操作系统。我可以发布包含此修复程序的新版本,并使50%的用户群再次满意,并警告其他50%(4.X用户)该问题将继续存在于4.X上,并提出升级建议(或其他建议) )。问题是是否要在软件中执行此操作(即向4.X用户显示对话框),还是只让他们向我们发送垃圾邮件,我们将通过电子邮件支持“您的修复无效!”的电子邮件!然后将他们定向到支持页面,其中将详细讨论该问题。