Android: решение проблемы с крашами при проверке лицензии на 5.0

Представьте себе компанию, у которой есть какое-то 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);

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *