Я недавно опубликовал приложение на Android Market и получил несколько сообщений об ошибках, которые я не смог понять.Мое приложение имеет функциональность, которую можно «активировать» за плату в 1 доллар, и оно свободно основано на примере приложения Dungeons от Google.
В примере приложения есть две основные проблемы, которые, я думаю, вызовут проблемы у многих разработчиков.
1) В BillingService используется устаревший метод.BillingService зависит от приложения и обеспечивает взаимодействие RPC с приложением Android Market.Это должно быть вокруг, даже если ваша активность не является.Он реализует этот метод.
@ Переопределить public void onStart (Intent intent, int startId) {}
Вместо более новых
public int onStartCommand (Intent intent, int flags, int startId) {}
2) Более серьезно, угловой случай, когда Intent us null при вызовах onStart / onstartCommand вызывает NPE, так как код
String action = intent.getAction ();
Выполняется в примере приложения без какой-либо нулевой проверки.
В соответствии с документом http://developer.android.com/reference/android/app/Service.html#onStart(android.content.Intent, int)
"это может быть нулевым, если служба перезапускается после того, как ее процесс завершился, и ранее она возвращала что-либо, кроме START_STICKY_COMPATIBILITY. "
Так как я начинающий разработчик Android, я не хочу плакать, волк.Может кто-нибудь сказать мне, если образец приложения Dungeons не работает, или я что-то здесь неправильно понял?