LicenseCheckerCallback 响应问题
LicenseCheckerCallback response issue
我在我的 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 calling
此外,目前我正在测试应用程序的非授权复制检查。为了测试许可副本,我将不得不把它放在 Play 商店上,这是另一回事。
有没有人遇到过与 LicenseChecker 响应类似的问题?
我想通了。它与应用程序版本控制有关。
我在我的 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 calling
此外,目前我正在测试应用程序的非授权复制检查。为了测试许可副本,我将不得不把它放在 Play 商店上,这是另一回事。
有没有人遇到过与 LicenseChecker 响应类似的问题?
我想通了。它与应用程序版本控制有关。