Android开发IM中的消息Notification的一个小小使用.

解决IM应用中通知栏点击事件的高效处理方式
本文详细介绍了在IM应用中遇到的一个棘手问题:如何在通知栏点击事件中智能地切换聊天界面。通过分析并借鉴他人源码中的回调机制,提出了一种更高效的方法来区分通知来源,并实现相应的操作。此解决方案不仅优化了用户体验,也提供了IM开发者一种实用的思路。

在实习的时候做的一个项目,当时做IM就遇到一个棘手的问题,就是不同的ID给自己发送消息且自己不在聊天界面,这个时候点击NotificationBar的时候就应该跳转到聊天界面,

还有一种很关键的场景: 自己在聊天界面,却是不同的用户发来的消息,点击NotificationBar的时候就应该关闭当前加载新的,当时我采用的是比较笨的办法通过去遍历ActivityStack,然后判断是否有聊天的Activity,有的话弹到StackTop上,这样能解决,但是不是很好的做法,今天阅读别人的源码发现一个有意思的CallBack.


// 点击notification bar进入聊天页面,保证只有一个聊天页面
		String username = intent.getStringExtra("userId");
		if (toChatUsername.equals(username))
			super.onNewIntent(intent);
		else {// 如果是当前的会话,关闭自己重新启动Intent.
			finish();
			startActivity(intent);
		}


记录下来.给那些IM开发提供帮助.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值