Вы можете использовать пользовательский класс LicenseValidator с handleResponse (), который будет вызывать dontAllow () для обратного вызова средства проверки лицензий, только когда политика возвращает LicenseResponse.NOT_LICENSED и allow () во всех других случаях, включая сетевую ошибку.
public class LicenseValidator {
...
public void handleResponse(LicenseResponse response, ResponseData rawData) {
mPolicy.processServerResponse(response);
if (mPolicy.allowAccess()) {
mCallback.allow();
} else if (response == LicenseResponse.NOT_LICENSED) {
mCallback.dontAllow();
}
}
И вместо ServerManagedPolicy используйте также собственную Политику:
public class MyPolicy {
private LicenseResponse mLastResponse;
public MyPolicy(Activity activity) {
mLastResponse = LicenseResponse.RETRY;
}
public void processServerResponse(LicenseResponse response) {
mLastResponse = response;
}
public boolean allowAccess() {
return (LicenseResponse.LICENSED.equals(mLastResponse));
}
}
Это очень мало, что я сделал, и она отлично работает.