2012-03-07 3 views
0

Я делаю приложение, в котором прослушиватель широковещательной рассылки начинает свою деятельность, и уведомление отображается. Когда пользователь нажимает кнопку «домой», он переходит на главный экран. Но если пользователь нажимает на значке уведомления, то состояние активности теряется :(.Продолжая такую ​​же активность, когда пользователь нажимает кнопку «Уведомление»

Пожалуйста, помогите мне, как продолжить с моей деятельностью, когда пользователь нажимает на уведомлении.

+1

Так вы говорите об уведомлении, когда пользователь выбирает уведомление и возвращается к своей предыдущей деятельности? – wesdfgfgd

+0

yes Heinrik .... любезно помогите мне :( – Jasra

ответ

0

Я предлагаю использовать предупредительный диалог для уведомлений ссылки here. Этих будет хранить ваше уведомление на том же экране и в том же действии.

Если вы хотите сохранить любую информацию при нажатии на дом, вы можете использовать для этого хранилище Android, и вот ссылка для that. Хранение будет хранить данные что вам нужно от других классов активности.

Надеюсь, это поможет вам.

+0

спасибо heinrik .... я использую уведомление о состоянии строки .... я не могу использовать базу данных, поскольку есть много данных – Jasra

0

При создании вашего Intent за PendingIntent вы отправляете вместе с уведомлением, добавляйте флаг Intent.FLAG_ACTIVITY_NEW_TASK.

Если операция уже находится в стеке истории, она будет возобновлена ​​и будет вызван вызов onNewIntent(). Если это не так, действие начнется с чистого листа.

+0

, где мне нужно определить onNewIntent() – Jasra

+0

@Jasra В действии, которое возобновляется. Если вы не передаете какие-либо новые данные, тогда вам не нужно реализовывать этот метод. –

+0

, поскольку я сказал, что мне нужно передать значения из приемника вещания на активность ... как только когда я нажимаю значок уведомления, активность перезапускается – Jasra

1

Я не показываю уведомление, если приложение, выполняющее уведомление, находится на переднем плане; Я просто обновляю пользовательский интерфейс деятельности и позволяю ей быть само собой разумеющимся.

0
Try this 

Intent.FLAG_ACTIVITY_TASK_ON_HOME 
1

Попробуйте это:

Intent resultIntent = this.getIntent(); 

Он получает запускаемый намерение от основной деятельности. Работал для меня.

Смежные вопросы