首页 > 解决方案 > LicenseCheckerCallback 响应问题

问题描述

我在我的 Android 应用程序中集成了许可证验证库。但是许可证检查器回调不调用任何方法:allow()、dontAllow() 或 applicationError()。当我关闭互联网时,它会显示相应的对话框,这意味着对话框正在工作,但是在收到响应时我得到一个空白的白屏。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 call

另外,目前我正在测试该应用程序以进行非许可复制检查。为了测试许可副本,我必须将其放在 Play 商店中,这是另一回事。

有人在 LicenseChecker 响应中遇到过类似问题吗?

标签: androidandroid-studioandroid-lvl

解决方案


我想到了。它与应用程序版本控制有关。


推荐阅读