Comments 6
У GCMRegistrar есть 2 полезных метода: isRegistered и isRegisteredOnServer. Первый можно использовать вместо regId.equals(""), второй для проверки отправлен ли regID на сервер, если нет то запустить отправку.
Спасиб за статью. Кстати, столкнулся с проблемой, если собираетесь переименовывать GCMIntentService или класть его в свой пакет, а не рутовый, тогда сервис работать не будет. Надо сделать финт ушами, надеюсь кому-то секономит время, вот, пожалуйста: dexxtr.com/post/28188228252/rename-or-change-package-of-gcmintentservice-class
не хочу показаться кепом, но в строке
скорее всего пропущено слово String, похоже должно быть что-то вроде такого:
public static final APP_VERSION_PREFS = "application_version";
скорее всего пропущено слово String, похоже должно быть что-то вроде такого:
public static final String APP_VERSION_PREFS = "application_version";
Если я все правильно понял, то в методе
putCurrentPackageVersionInPreferences
, есть вызов метода getPackageVersion(context)
, который нигде не определен, думаю он мог бы выглядеть так: public static int getPackageVersion(Context context) {
try {
PackageInfo pInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_META_DATA);
return pInfo.versionCode;
} catch (NameNotFoundException e) {
return 0;
}
}
Sign up to leave a comment.
Подробнее о реализации поддержки GCM на Android-клиенте