我正在开发使用GCM概念的聊天类型应用程序。我成功地发送消息给我的朋友谁也注册和使用我的应用程序。我正在将对话存储在SQLite两边。意味着当发送者发送消息并且接收者接收到消息时,则对话被存储在双方。现在我想要什么,如果我的'X'朋友打开聊天图形用户界面并向该朋友发送消息'X',并且几秒钟后如果新消息从同一个朋友'X'到达,那么我可以同时更新GUI收到通知时更新当前UI
我想出了this教程,并成功更新了GUI。但我的问题是,我怎么才能知道我目前聊天的对象是谁?意思是当消息到达时,我的GUI将被更新,但如果我收到来自其他朋友'Y'的消息,那么GUI不应该更新(因为聊天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();
但没有得到如何解决问题。帮助将不胜感激。
亚朋友...但问题是如何知道谁是当前的发件人和接收器? –
将该信息放入消息{from:'x',msg:'blah blah'}。你必须知道你在和谁谈话? –
是的,让我告诉你一件事,我也通过这个消息传递了这个名字。所以现在当收到消息时,首先它将被存储在接收端的数据库中。所以我想我需要检查条件并将该消息名称与最后一次输入db进行比较。如果两个r相同,那么GUI应该更新,否则不是......我是正确的阿比亚? –