Поэтому я пытаюсь правильно внедрить лицензирование в мои живые обои. Там весь код, все компилируется, но метод stopSelf () моего WallpaperService просто не работает. Вот что у меня есть:
public class MyWallpaperService extends WallpaperService implements LicenseCheckerCallback{
...
@Override
public void onCreate() {
super.onCreate();
String deviceId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
// Construct the LicenseChecker with a Policy.
mChecker = new LicenseChecker(
this, new ServerManagedPolicy(this,
new AESObfuscator(SALT, getPackageName(), deviceId)),
BASE64_PUBLIC_KEY // Your public licensing key.
);
mChecker.checkAccess(this);
}
@Override
public void onDestroy() {
super.onDestroy();
mChecker.onDestroy();
//Log.d(DEB_TAG, "onDestroy()");
}
@Override
public Engine onCreateEngine() {
SharedPreferences prefs = getSharedPreferences(SHARED_PREFS_NAME,0);
return new MyEngine(prefs);
}
public void allow(int reason) {
}
public void dontAllow(int reason) {
Toast.makeText(getApplicationContext(), "This application is not licensed on this device", Toast.LENGTH_SHORT).show();
stopSelf();
}
public void applicationError(int errorCode) {
}
...
}
Это доводит меня до стены. Метод dontAllow () определенно вызывается, потому что я вижу всплывающее окно Toast, но WallpaperService весело работает, и я не могу найти вескую причину, почему это может быть. У кого-нибудь есть идеи?