Android 许可证响应代码——策略实际上看到了什么?

Android 许可证响应代码——策略实际上看到了什么?,android,google-play,android-lvl,Android,Google Play,Android Lvl,在这本书中,我发现: 当网络问题阻止或中断许可证检查时,Android Market客户端通过向策略的processServerResponse()方法返回“重试”响应代码来通知应用程序。在系统出现问题的情况下,例如当应用程序无法与Android Market的ILicensingService实现绑定时,LicenseChecker库本身使用“重试”响应代码调用Policy processServerResonse()方法 不幸的是,RETRY并没有列出服务器返回的代码之一,当我查看LVL源代

在这本书中,我发现:

当网络问题阻止或中断许可证检查时,Android Market客户端通过向策略的processServerResponse()方法返回“重试”响应代码来通知应用程序。在系统出现问题的情况下,例如当应用程序无法与Android Market的ILicensingService实现绑定时,LicenseChecker库本身使用“重试”响应代码调用Policy processServerResonse()方法

不幸的是,RETRY并没有列出服务器返回的代码之一,当我查看LVL源代码时,Android Market客户端似乎实际返回了一个服务器响应代码,而库中的LicenseValidator类决定了何时将其转换为RETRY响应状态

此外,在指南中有以下内容:

请注意,Android Market客户端会自动重试失败的请求,因此在大多数情况下,您的策略不需要重试这些请求


我觉得这令人困惑。客户机只是报告一个记录在案的服务器响应代码,还是做得更多?例如,如果设备处于飞行模式,则自定义策略是否需要处理重试或错误?策略(或应用程序)应该处理重试,还是客户端自动执行重试?

还有一个问题:应该由自定义策略覆盖的方法processServerResponse()需要一个数据类型为“ResponseData”的参数,这是LVL中的私有类。因此,我不知道应该如何编写自定义策略:(@BarryFruitman-是的,LVL有很多限制。我最终重写了它的大部分,主要是为了让更多的信息到达应用程序,以便它能够向用户提供更多信息。