我在我的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响应中遇到类似的问题吗?谢谢。
答案 0 :(得分:0)
我知道了。它与应用的版本控制有关。