Урок 95. Service. Обратная связь с помощью PendingIntent

Обсуждение уроков
Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение damager82 » 11 июл 2012, 23:00

В этом уроке:
- получаем из сервиса результат с помощью PendingIntent


Click here to read this article!
Последний раз редактировалось damager82 22 май 2017, 23:46, всего редактировалось 10 раз.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

chivorotkiv
Сообщения: 4
Зарегистрирован: 29 июн 2012, 03:14

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение chivorotkiv » 15 июл 2012, 06:35

Круто. Я не знал.

Wa1deMar
Сообщения: 14
Зарегистрирован: 01 авг 2012, 11:19

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение Wa1deMar » 10 авг 2012, 13:43

А у меня приложение падает(

Код: Выделить всё

08-10 13:39:01.206: ERROR/AndroidRuntime(630): FATAL EXCEPTION: main
        java.lang.IllegalStateException: Could not execute method of the activity

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение damager82 » 14 авг 2012, 13:37

Wa1deMar писал(а):А у меня приложение падает(

Код: Выделить всё

08-10 13:39:01.206: ERROR/AndroidRuntime(630): FATAL EXCEPTION: main
        java.lang.IllegalStateException: Could not execute method of the activity
А код такой же, как в уроке?
Если нет, то приложите java-файл. И уточните, на какой именно строке ошибка возникает.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение powercat » 30 авг 2012, 10:38

Отстраненный вопрос - а можно пример привести, зачем это нужно может быть в реальности? А то я не очень понимаю, зачем при работающем приложении запускать сервис, что-то там делать и обратно возвращать...не проще ли все в самом приложении выполнить? Или это просто абстрактный пример?

warner
Сообщения: 2
Зарегистрирован: 31 авг 2012, 17:58

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение warner » 31 авг 2012, 18:06

Если запускать в эмуляторе 2.3.3 - то приложение работает, как положено.
Если запускать в 4.0.3 - то падает с такой-же ошибкой, как у Wa1deMar.
Вот выписал из лога:

Код: Выделить всё

java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:3044)
Caused by: java.lang.NullPointerException
at android.app.Activity.createPendingResult(Activity.java:3824)
at ru.startandroid.develop.p0951servicebackpendingintent.MainActivity.onClickStart(MainActivity.java:48)
48 строка - это строка

Код: Выделить всё

pi = createPendingResult(TASK1_CODE, null, 0);
Код как на сайте.

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение damager82 » 05 сен 2012, 09:43

powercat писал(а):Отстраненный вопрос - а можно пример привести, зачем это нужно может быть в реальности? А то я не очень понимаю, зачем при работающем приложении запускать сервис, что-то там делать и обратно возвращать...не проще ли все в самом приложении выполнить? Или это просто абстрактный пример?
У меня практически все примеры абстрактные) Я просто показываю, что есть такая возможность.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение damager82 » 05 сен 2012, 09:55

warner писал(а):Если запускать в эмуляторе 2.3.3 - то приложение работает, как положено.
Если запускать в 4.0.3 - то падает с такой-же ошибкой, как у Wa1deMar.
Вот выписал из лога:

Код: Выделить всё

java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:3044)
Caused by: java.lang.NullPointerException
at android.app.Activity.createPendingResult(Activity.java:3824)
at ru.startandroid.develop.p0951servicebackpendingintent.MainActivity.onClickStart(MainActivity.java:48)
48 строка - это строка

Код: Выделить всё

pi = createPendingResult(TASK1_CODE, null, 0);
Код как на сайте.
Прабла в null, который передаем в createPendingResult. Activity потом без всяких null-проверок пытается работать с ним и получаем ошибку NullPointerException.
Туда можно пустой Intent передавать.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение powercat » 24 сен 2012, 11:31

А можно понятным языком описать различия между Intent and PendingIntent?
А то что-то не очень понятно оно (((
С примерами

AndreyI
Сообщения: 372
Зарегистрирован: 14 май 2012, 16:18

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение AndreyI » 24 сен 2012, 12:25

Ну это что-то вроде доверенности. Вы доверяете другому приложению запустить компонент вашего приложения как бы от вашего имени, с разрешениями вашего приложения, как если бы ваше приложение запустило этот компонент.

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение damager82 » 24 сен 2012, 13:29

AndreyI писал(а):Ну это что-то вроде доверенности. Вы доверяете другому приложению запустить компонент вашего приложения как бы от вашего имени, с разрешениями вашего приложения, как если бы ваше приложение запустило этот компонент.
А также вы явно указываете, что именно вызывается этим интентом - сервис, Activity или Broadcast. Иначе другое приложение не будет знать, что оно хочет вызвать.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение powercat » 24 сен 2012, 14:22

Значит Интент в чистом виде - только между активитиями или для пуска Сервиса, а ПендингИнтент для чего?

screamer
Сообщения: 2
Зарегистрирован: 20 июн 2012, 22:47

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение screamer » 26 дек 2012, 16:01

Решил попробовать передачу в createPendingResult того же интента, которым я запускаю сервис (для андроида 4). Сработало.

Код: Выделить всё

        intent = new Intent(this, MyService.class);
        pi = createPendingResult(TASK1_CODE, intent, 0);
        intent.putExtra(PARAM_TIME, 7).putExtra(PARAM_PINTENT, pi);
        startService(intent);

Sakcy
Сообщения: 1
Зарегистрирован: 07 янв 2013, 18:54

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение Sakcy » 07 янв 2013, 18:58

Добрый Вечер. Помогите запустить Activity из сервиса
метод Intent intent = new Intent(this, Activity.class)
startActivity(intent) выдает ошибку Unfortunalety has stopped

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение damager82 » 14 янв 2013, 10:53

Sakcy писал(а):Добрый Вечер. Помогите запустить Activity из сервиса
метод Intent intent = new Intent(this, Activity.class)
startActivity(intent) выдает ошибку Unfortunalety has stopped
А еще что-нить есть в логах? Там должно быть более подробное описание ошибки
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение KamiSempai » 05 апр 2013, 11:42

У меня просьба к автору статьи, касательно null в createPendingResult.
Может стоит поправить на что-то более работоспособное?
А то, я тут на днях выкатил обновление с использованием PendingIntent.
Столько багрепортов за день я еще не получал.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение damager82 » 10 апр 2013, 15:23

KamiSempai писал(а):У меня просьба к автору статьи, касательно null в createPendingResult.
Может стоит поправить на что-то более работоспособное?
А то, я тут на днях выкатил обновление с использованием PendingIntent.
Столько багрепортов за день я еще не получал.
Речь о createPendingResult? Вместо null имеет смысл пустой Intent класть?
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение KamiSempai » 10 апр 2013, 16:38

damager82 писал(а):Речь о createPendingResult? Вместо null имеет смысл пустой Intent класть?
Именно о нем. В 4 андроиде, в этом методе идет прямое обращение к переданному объекту.
В результате возникает ошибка и метод возвращает null.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

cin
Сообщения: 5
Зарегистрирован: 06 апр 2013, 06:32

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение cin » 16 апр 2013, 10:35

Как передавать произвольные данные?

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Урок 95. Service. Обратная связь с помощью PendingIntent

Сообщение anber » 11 июн 2013, 00:10

damager82 писал(а):
KamiSempai писал(а):У меня просьба к автору статьи, касательно null в createPendingResult.
Может стоит поправить на что-то более работоспособное?
А то, я тут на днях выкатил обновление с использованием PendingIntent.
Столько багрепортов за день я еще не получал.
Речь о createPendingResult? Вместо null имеет смысл пустой Intent класть?
Почему бы не исправить указанную ошибку в уроке?
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

Ответить