我正在開發使用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應該更新,否則不是......我是正確的阿比亞? –