2

Я разрабатываю приложение типа чата с использованием GCM Концепция. Мне удалось отправить сообщение своим друзьям, которые также зарегистрированы и используют мое приложение. Я сохраняю разговор в SQLite с обеих сторон. Значит, когда отправитель отправляет сообщение и получатель получает сообщение, тогда разговор хранится с обеих сторон. Теперь, что я хочу, если графический интерфейс чата открывается моим «X» другом, и я отправляю сообщение этому другу «X», и через несколько секунд, если новое сообщение поступит от одного и того же друга «X», я могу одновременно обновлять графический интерфейсОбновить текущий пользовательский интерфейс при получении уведомления

Я придумал this учебник и успешно обновленный графический интерфейс. Но моя проблема в том, как я могу узнать, с кем мой текущий чат продолжается? Когда приходит сообщение, мой графический интерфейс будет обновляться, но если я получаю сообщение от другого друга «Y», тогда GUI не должен обновляться (поскольку графический интерфейс чата открывается с разговором друга «X»). Он должен присутствовать в уведомлении и когда я нажимаю на это уведомление, а затем только чат с этим «Y» должен обновляться. Как я могу это сделать? Я также пришел с этим кодом, чтобы узнать, какая деятельность находится сверху.

ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); 
// get the info from the currently running task 
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1); 
Log.d("topActivity", "CURRENT Activity : " + taskInfo.get(0).topActivity.getClassName()); 
ComponentName componentInfo = taskInfo.get(0).topActivity; 
componentInfo.getPackageName(); 

Но не получить, как решить проблему. Помощь будет оценена.

ответ

0

Текущая страница чата связана с пользователем x или y. всякий раз, когда вы получаете сообщение в службе gcm, вы можете обновить, если чат с того же пользователя, что и текущая страница чата, вы можете обновить текущую активность, указав, что какой-либо другой пользователь отправил сообщение, или если приложение не работает или в какой-либо деятельности, отправьте сообщение уведомление. Общие настройки могут использоваться для установки уникального идентификатора текущего пользователя и текущих данных активности, чтобы ваш gcm-приемник знал, что делать.

+0

ya buddy ... но вопрос в том, как узнать, кто является текущим отправителем и получателем ??? –

+1

введите эту информацию в сообщение {from: 'x', msg: 'blah blah'}. у вас должна быть информация о том, с кем вы разговариваете? –

+0

Да, позвольте мне сказать еще одну вещь, я также передал это имя с сообщением. поэтому теперь, когда будет получено сообщение, сначала он будет сохранен в db на стороне приемника. поэтому я думаю, что мне нужно проверить условие и сравнить это имя сообщения с последней записью в db. если оба r то же GUI должен быть обновлен еще не ... я прав abbiya ??? –

0

Вы можете создать 1 метод fillListchat(). Когда сообщение поступит тогда, этот вызов определенного метода в потоке и установите GUI в handler.so всякий раз, когда вы открываете любой из ваших списков друзей, таких как x, y или z, тогда этот список будет быть обновлен по умолчанию..ok..i надеюсь, что он вам полезен ...

+0

Можете ли вы подробно рассказать @dipali? –

+0

что вы говорите? ..... – dipali

+0

Я говорю, что вы можете подробно объяснить вашу идею. Я не понимаю, что вы хотите объяснить. thank u ... –

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