2013-02-22 1 views
0

Я могу направить пользователя к деятельности с Notification Manager, с помощью намерения:Как вызвать конкретный экземпляр действия из диспетчера уведомлений?

 intent.setClass(mContext, ChatActivity.class); 
     intent.putExtra("UserId", user.getmPhoneNumber()); 

Нет проблем здесь ..

Но я хотел бы, чтобы направить пользователя к конкретному экземпляру ChatActivity , Я имею в виду, если сообщение приходит от «user123», мне нужно открыть экран чата этого пользователя.

ответ

1

onNewIntent() способ решён проблема.

Переопределен метод onNewMethod() в активности и магии, произошедшей методом onResume(). Вызывается getIntent() и изменяет/обновляет информацию нового пользователя.

+0

Здравствуйте, Coldfish, напишите, как «onNewIntent» решила вашу проблему и отметила ее как ответ для всех. –

1

вы ставите UserId в своем намерении, Проверьте USERID в вашем ChatACtivity и делать все, что вы хотите для этого пользователя

1

Когда вы создаете ваш PendingIntent вы будете включать в себя активность, чтобы открыть и с кем сообщение от, как дополнительный. Вы уже это сделали. Я вижу, что вы включаете UserId.

Так что теперь единственное, что вам нужно сделать, это то, что когда ChatActivity создается (onCreate), используйте метод деятельности

getIntent и получить extras.

Затем проверьте на UserId и покажите сообщения от указанного пользователя.

+0

Я думаю, что здесь есть недоразумение. Я могу открыть экран чата пользователя с помощью этого метода. Но я не могу справиться с таким условием: Если экран чата другого пользователя уже открыт, я не могу открыть chatactivity для нового. Я всегда вижу ту же самую чатовую активность, которая уже создана. – StillHopeForMe

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

  • Нет связанных вопросов^_^