在我的聊天應用程序中,我希望當人不在聊天屏幕上時,他應該收到通知,並且當該人不在聊天屏幕上時,他不應該收到任何通知(聊天應該簡單地顯示在聊天屏幕本身上)。知道用戶本身的存在
當人在聊天屏幕上時,我強制更改用戶的狀態並進行廣播。現在問題是,當用戶現在將收到任何消息/聊天時,用戶設備上運行的服務將如何決定移動用戶本身的存在(即他是否在聊天屏幕上)。我認爲這是不可能得到用戶本身的存在(與名冊的幫助,因爲用戶本身並不在他的名冊)
這個函數是寫在我的服務類
PacketFilter filter = new MessageTypeFilter(Message.Type.chat);
final PacketCollector collector = connection.createPacketCollector(filter);
connection.addPacketListener(new PacketListener() {
@Override
public void processPacket(Packet packet) {
// TODO Auto-generated method stub
//notification(packet.getFrom());
packet = collector.nextResult();
Message message = (Message)packet;
senderName = packet.getFrom();
int alphaPOS = senderName.indexOf("@");
String subSenderName = senderName.substring(0,alphaPOS);
notificationforChat(subSenderName+": "+message.getBody(),packet.getFrom().toString());
}
}, filter);
現在當用戶在聊天屏幕本身時如何停止通知?
請幫幫我