Страница 1 из 2

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

Добавлено: 11 июл 2012, 23:00
damager82
В этом уроке:
- получаем из сервиса результат с помощью PendingIntent


Click here to read this article!

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

Добавлено: 15 июл 2012, 06:35
chivorotkiv
Круто. Я не знал.

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

Добавлено: 10 авг 2012, 13:43
Wa1deMar
А у меня приложение падает(

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

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

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

Добавлено: 14 авг 2012, 13:37
damager82
Wa1deMar писал(а):А у меня приложение падает(

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

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

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

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

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

Добавлено: 31 авг 2012, 18:06
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);
Код как на сайте.

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

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

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

Добавлено: 05 сен 2012, 09:55
damager82
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 передавать.

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

Добавлено: 24 сен 2012, 11:31
powercat
А можно понятным языком описать различия между Intent and PendingIntent?
А то что-то не очень понятно оно (((
С примерами

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

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

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

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

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

Добавлено: 24 сен 2012, 14:22
powercat
Значит Интент в чистом виде - только между активитиями или для пуска Сервиса, а ПендингИнтент для чего?

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

Добавлено: 26 дек 2012, 16:01
screamer
Решил попробовать передачу в 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);

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

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

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

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

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

Добавлено: 05 апр 2013, 11:42
KamiSempai
У меня просьба к автору статьи, касательно null в createPendingResult.
Может стоит поправить на что-то более работоспособное?
А то, я тут на днях выкатил обновление с использованием PendingIntent.
Столько багрепортов за день я еще не получал.

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

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

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

Добавлено: 10 апр 2013, 16:38
KamiSempai
damager82 писал(а):Речь о createPendingResult? Вместо null имеет смысл пустой Intent класть?
Именно о нем. В 4 андроиде, в этом методе идет прямое обращение к переданному объекту.
В результате возникает ошибка и метод возвращает null.

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

Добавлено: 16 апр 2013, 10:35
cin
Как передавать произвольные данные?

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

Добавлено: 11 июн 2013, 00:10
anber
damager82 писал(а):
KamiSempai писал(а):У меня просьба к автору статьи, касательно null в createPendingResult.
Может стоит поправить на что-то более работоспособное?
А то, я тут на днях выкатил обновление с использованием PendingIntent.
Столько багрепортов за день я еще не получал.
Речь о createPendingResult? Вместо null имеет смысл пустой Intent класть?
Почему бы не исправить указанную ошибку в уроке?