Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
#1

Восстановление сервиса и Intent - Программирование Android

17.02.2013, 14:05. Просмотров 834. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Восстановление сервиса и Intent (Программирование Android):

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

Starting: Intent { act=android.intent.action.MAIN. и пустой белый экран - Программирование Android
При запуске приложения всё заканчивается на Starting: Intent { act=android.intent.action.MAIN cat= cmp=com.example.lab2/.MainActivity } ...

Intent - Программирование Android
Доброе утро. Помогите с одним вопросом. Как из модального окна, когда нажимаешь на кнопку "Ок", сделать так чтобы при переходе на...

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

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

Шаринг INTENT - Программирование Android
Привет. можно ли зашарить таким способом, через Intent: //stackoverflow.com/questions/9...d-share-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 - Программирование Android
Доброй ночи. При запуске StartActivity через 3 сек должно открыться MainActivity, оно то работает , но только один раз при перезапуске...

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

Intent (image+text) - Программирование Android
Здравствуйте. Можно ли в одном Intent'e передать картинку с текстом?

Intent внутри Layout - Программирование Android
Хочу вывести браузер с кнопки не на весь экран, а в конкретный слой примерно то что надо нашел по этой ссылке ...


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

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

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