制作一个Im应用,在与对方交流时不发送对方的消息通知,离开与对方交流的activity时发送消息通知。请教各位大神这个要怎么实现
ringa_lee2017-04-17 17:54:50
個人理解思維:
可以用一個Service統一管理Socket訊息接收,根據目前頁面狀態判斷訊息的推播位置,若在聊天頁面推播訊息至聊天頁面,否則通知到通知欄
大家讲道理2017-04-17 17:54:50
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancel(NEW_MESSAGE_NOTIFICATION_ID);
這個NEW_MESSAGE_NOTIFICATION_ID是在發送通知的時候新增的
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(NEW_MESSAGE_NOTIFICATION_ID, builder.build());
伊谢尔伦2017-04-17 17:54:50
這個應該是你對於軟體整體設計的問題啦,我之前做個Android的IM軟體,實作很簡單,就是在Application裡面維護一個CurrentChatUser,存目前處在的聊天介面對應的使用者id神馬的,然後你在進入這個Activity(如果你是聊天介面是Activity的話,Fragment神馬的都一樣)時候,在onResume中把你目前聊天的人的用戶id保存到Application中,出去的時候再在onDestroy中刪掉,這樣你在收到新消息的時候判斷下你收到的消息是不是來自這個人的,然後決定是否通知,是的話就不通知,直接在聊天界面刷出來,不是的話就通知用戶有新消息。