搜尋

首頁  >  問答  >  主體

android - 在指定的activity不发送通知

制作一个Im应用,在与对方交流时不发送对方的消息通知,离开与对方交流的activity时发送消息通知。请教各位大神这个要怎么实现

大家讲道理大家讲道理2894 天前425

全部回覆(5)我來回復

  • 迷茫

    迷茫2017-04-17 17:54:50

    有新的聊天訊息,伺服器統一推播過來。客戶端判斷,如果目前正在與這個人聊天,就顯示在對話框裡,否則產生一個通知顯示到通知區域。

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 17:54:50

    個人理解思維:
    可以用一個Service統一管理Socket訊息接收,根據目前頁面狀態判斷訊息的推播位置,若在聊天頁面推播訊息至聊天頁面,否則通知到通知欄

    回覆
    0
  • 大家讲道理

    大家讲道理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());

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:54:50

    這個應該是你對於軟體整體設計的問題啦,我之前做個Android的IM軟體,實作很簡單,就是在Application裡面維護一個CurrentChatUser,存目前處在的聊天介面對應的使用者id神馬的,然後你在進入這個Activity(如果你是聊天介面是Activity的話,Fragment神馬的都一樣)時候,在onResume中把你目前聊天的人的用戶id保存到Application中,出去的時候再在onDestroy中刪掉,這樣你在收到新消息的時候判斷下你收到的消息是不是來自這個人的,然後決定是否通知,是的話就不通知,直接在聊天界面刷出來,不是的話就通知用戶有新消息。

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 17:54:50

    在聊天頁面的話就把服務停掉 送到聊天頁面

    回覆
    0
  • 取消回覆