Представьте себе компанию, у которой есть какое-то SDK для абстрактного устройства. После обновления прошивки этих устройств до последней версии начинают крашится некоторые приложения. Эта компания знает о проблеме, но не обновляет sdk для исправления оной. Да, речь про Google. Уже не первый раз сталкиваюсь с такой проблемой, когда их сорсы допиливать приходится =/
В общем, в классе LicenseChecker
необходимо чуток подправить метод checkAccess
. Сейчас код по инициализации выглядит так:
1.
boolean
bindResult = mContext
2.
.bindService(
3.
new
Intent(
4.
new
String(
5.
Base64.decode(
"Y29tLmFuZHJvaWQudmVuZGluZy5saWNlbnNpbmcuSUxpY2Vuc2luZ1NlcnZpY2U="
))),
6.
this
,
// ServiceConnection.
7.
Context.BIND_AUTO_CREATE);
Как видим, юзается implicit Intent
. Сдалем его explicit.
01.
Intent serviceIntent =
new
Intent(
02.
new
String(
03.
Base64.decode(
"Y29tLmFuZHJvaWQudmVuZGluZy5saWNlbnNpbmcuSUxpY2Vuc2luZ1NlcnZpY2U="
)));
04.
serviceIntent.setPackage(
"com.android.vending"
);
05.
06.
boolean
bindResult = mContext
07.
.bindService(
08.
serviceIntent,
09.
this
,
// ServiceConnection.
10.
Context.BIND_AUTO_CREATE);