0
그래서 라이브 배경 화면에 라이센스를 올바르게 구현하려고합니다. 모든 코드가 거기에 있지만 모든 것이 컴파일되지만 내 WallpaperService의 stopSelf() 메서드는 작동하지 않는 것 같습니다. 여기에 내가 무엇을 가지고있다 :라이센스 확인 확인에 실패하면 어떻게하면 내 라이브 배경 화면이 제대로 종료됩니까?
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) {
}
...
}
그것은 나를 벽으로 몰고있다. 토스트 (Toast) 팝업이 보이기 때문에 dontAllow() 메소드가 확실히 호출되고 있습니다.하지만 WallpaperService가 실행 중일 때 즐겁게 수행됩니다. 그 이유는 알 수 없습니다. 누구든지 아이디어가 있습니까?
감사합니다. 이것은 나를위한 티켓 일뿐입니다. 그렇게 단순하고 짜증스럽게 생각했습니다. 정말 고맙습니다 :) – SatNav