Консультация № 186605
16.09.2012, 21:39
0.00 руб.
0 0 0
Здравствуйте эксперты!
Пытаюсь разобраться с проверкой лицензии в Android. Например, хочу чтобы в TextView отобразился статус лицензии.
При проверке возникает критическая ошибка, не могу понять из-за чего. Обьясните пожалуйста.

Разрешение com.android.vending.CHECK_LICENSE в манифесте прописано.

Код:
public class MainActivity extends Activity {

private LicenseChecker mChecker;
private LicenseCheckerCallback mLicenseCheckerCallback;
private static final String BASE64_PUBLIC_KEY = " здесь мой ключ ";
byte[] SALT = new byte[] {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};

class myLicenseCheckerCallback implements LicenseCheckerCallback {
@Override
public void allow(int reason) {
if (isFinishing()) return;
DisplayResult("allow");
}

@Override
public void dontAllow(int reason) {
if (isFinishing()) return;
DisplayResult("dont allow");
}

@Override
public void applicationError(int errorCode) {
if (isFinishing()) return;
DisplayResult("error");
}}

public void DisplayResult(String s) {
TextView tw=(TextView)findViewById(R.id.textView1);
tw.setText(s);
}


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mLicenseCheckerCallback = new myLicenseCheckerCallback();
String deviceId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
mChecker = new LicenseChecker(
this, new ServerManagedPolicy(
this, new AESObfuscator(SALT, getPackageName(), deviceId)), BASE64_PUBLIC_KEY);
mChecker.checkAccess(mLicenseCheckerCallback);

}

@Override
protected void onDestroy() {
super.onDestroy();
mChecker.onDestroy();
}
}

Обсуждение

Форма ответа