LicenseCheckerCallback响应问题

时间:2018-10-29 17:41:48

标签: android android-studio android-lvl

我在我的Android应用程序中集成了许可证验证库。 但是许可证检查器回调不会调用以下任何方法:allow(),dontAllow()或applicationError()。当我关闭Internet时,它会显示相应的对话框,这意味着对话框正在运行,但是收到响应后,我得到了空白的白屏。 logcat输出显示I/LicenseChecker: Received response. Clearing timeout.,此后没有任何反应。下面是代码:

public class SettingsActivity extends Activity {

private static final String BASE64_PUBLIC_KEY = "key";


private static final byte[] SALT = new byte[] {random};


private LicenseCheckerCallback mLicenseCheckerCallback;
private LicenseChecker mChecker;
...

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    String deviceId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);

    mLicenseCheckerCallback = new MyLicenseCheckerCallback();
    mChecker = new LicenseChecker(
            this, new ServerManagedPolicy(this,
            new AESObfuscator(SALT, getPackageName(), deviceId)),
            BASE64_PUBLIC_KEY);

    mChecker.checkAccess(mLicenseCheckerCallback);
}
....
private class MyLicenseCheckerCallback implements LicenseCheckerCallback {
        @Override
        public void allow(int reason) {
            if (isFinishing()) {
                return;
            }
            displayResult(getString(R.string.allow));
        }

        @Override
        public void dontAllow(int reason) {
            if (isFinishing()) {
                return;
            }
            displayResult(getString(R.string.dont_allow));
        }

        @Override
        public void applicationError(int errorCode) {
            if (isFinishing()) {
                return;
            }
            displayResult(/*result*/);
        }
    }
}

此线程似乎解决了完全相同的问题,但似乎没有人解决它: LicenseCheckerCallback not calling

此外,目前,我正在测试该应用程序的非授权副本检查。为了测试许可的副本,我将不得不将其放在Play商店中。

有人在LicenseChecker响应中遇到类似的问题吗?谢谢。

1 个答案:

答案 0 :(得分:0)

我知道了。它与应用的版本控制有关。