在server response extras 的文档中,我发现:
当网络问题阻止或中断许可证检查时,Android Market 客户端通过向 Policy 的 processServerResponse() 方法返回“RETRY”响应代码来通知应用程序。如果出现系统问题,例如当应用程序无法与 Android Market 的 ILicensingService 实现绑定时,LicenseChecker 库本身会使用“RETRY”响应代码调用 Policy processServerResonse() 方法。
不幸的是,RETRY 没有列出服务器返回的列出的响应代码之一,当我查看 LVL 源代码时,Android Market 客户端似乎实际上返回了服务器响应代码之一,它是 LicenseValidator 类决定何时将其转换为 RETRY 响应状态的库。
此外,在实施自定义政策的部分,指南中有这样的内容:
请注意,Android Market 客户端会自动重试失败的请求,因此在大多数情况下,您的策略不需要重试它们。
我觉得这很混乱。客户端是简单地报告记录的服务器响应代码之一,还是做得更多?例如,如果设备处于飞行模式,自定义策略是否需要处理 RETRY 或 ERROR_CONTACTING_SERVER?策略(或应用程序)应该处理重试,还是客户端自动处理?