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

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

17.02.2013, 14:05. Просмотров 862. Ответов 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() никаких данных. Удивляет тогда, почему такая конструкция встречается в уроке.
http://www.cyberforum.ru/android-dev/thread1513289.html

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

Добавлено через 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. и пустой белый экран
При запуске приложения всё заканчивается на Starting: Intent {...

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

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

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

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

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
Привет! Вот еще темы с решениями:

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

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

Nougat 7.0 не работает Intent
try{ Intent intent2 = new Intent(); ...

Запуск через Intent
Скажите пожалуйста. А лучше покажите... Как с помощью Intent запустить...


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

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

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