Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
1

Восстановление сервиса и Intent

17.02.2013, 14:05. Просмотров 866. Ответов 2
Метки нет (Все метки)

Добрый день!
Разбираюсь с сервисами по одному из интернет уроков, возникла непонятная ситуация. Автор приводит следующий код:
Java
1
2
3
4
5
public int onStartCommand(Intent intent, int flags, int startId) {
    Log.d(LOG_TAG, "MyService onStartCommand, name = " + intent.getStringExtra("name"));
    ...
    return START_STICKY;
  }
Т.е., если кто-то убьёт сервис, он будет восстановлен. Тут всё понятно.
У меня же вылетает приложение с NullPointer'ом на строке с intent.getStringExtra при восстановлении сервиса после его убивания вручную. Мне кажется, это нормально - так как, в моём понимании, при восстановлении, сервису никто не передаёт путём putExtra() никаких данных. Удивляет тогда, почему такая конструкция встречается в уроке.

Может ли кто прокомментировать мои рассуждения? В чём я неправ?
Спасибо.

Добавлено через 6 минут
P.S. Причина нашлась Прям как на Хабре, когда чувак по книжке всю ночь компилировал прогу, а утром увидел на следующей странице слова в стиле "..как вы заметили, приложение не компилируется".
Следует возвращать не START_STICKY, а START_REDELIVER_INTENT, что и было написано внизу страницы урока))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2013, 14:05
Ответы с готовыми решениями:

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]
Выдает такую ошибку, хотя смартфон видит, он разрешает отладку, при запуске выдает такое сообщение,...

Starting: Intent { act=android.intent.action.MAIN. и пустой белый экран
При запуске приложения всё заканчивается на Starting: Intent { act=android.intent.action.MAIN...

Intent
Доброе утро. Помогите с одним вопросом. Как из модального окна, когда нажимаешь на кнопку...

Intent в конструкторе
Как правильно создать Intent в конструкторе создаваемого обьекта. Идея в том, чтобы имя обьекта...

Шаринг INTENT
Привет. можно ли зашарить таким способом, через Intent:...

2
elf32
-13 / 8 / 0
Регистрация: 15.02.2013
Сообщений: 87
18.02.2013, 06:37 2
Вот, вот. А сама getStringExtra не генерирует никаких Exception, даже если не передали "name" и т.д., просто вернет null.

Добавлено через 6 минут
Там наверное intent равен null
1
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
18.02.2013, 12:15  [ТС] 3
Спасибо, elf32, очень дельное уточнение!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2013, 12:15

Timer \ Intent
Доброй ночи. При запуске StartActivity через 3 сек должно открыться MainActivity, оно то работает...

Intent в Canvas
в private void draw нужно использовать переменную T из соседнего класса я использую, строка с...

Завершить Intent Service
Друзья подскажите пожалуйста, задача такая работает Intent service когда выполняет задачу он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru