Я интегрировал библиотеку проверки лицензии в свое приложение для 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 не вызывает
Кроме того, в настоящее время я тестирую приложение на предмет проверки нелицензионного копирования. Для тестирования лицензионной копии мне нужно будет положить ее в игровой магазин, и это совсем другое.
Кто-нибудь сталкивался с подобными проблемами с ответом LicenseChecker?