Android通知栏、锁屏弹窗流程
2016-09-21 20:16:20 0 举报
当用户接收到新的通知时,Android系统会在状态栏显示一个通知图标。用户可以下拉通知栏查看详细信息,包括应用名称、消息内容等。如果通知包含操作按钮,用户还可以直接在通知栏进行回复或删除等操作。 在某些情况下,系统会以锁屏弹窗的形式展示重要通知。这种弹窗会覆盖在锁屏界面上,直到用户点击确认或取消为止。这种方式可以确保用户不会错过任何紧急信息。 为了实现这些功能,开发者需要在应用程序中集成通知API,并在需要发送通知的地方调用相应的方法。同时,还需要根据不同的场景选择合适的通知渠道和样式,以便更好地吸引用户的注意力并提高用户体验。
作者其他创作
大纲/内容
MessageHeader.onReciveNewMessage()
结果集只有一个会话
BaseMessageManager.updateMsgTab()
QQAppInterface.seceiveMsgNotification()
QQLsActivity.updateSingeUI()
1. 展示多个会话时,数据源是recentBaseDatas2. mRecentList.setOnItemClickLister() 点击事件处理4. enterAIO() 跳AIO逻辑
QQLsRecentManager.updateLsRecentUser()关键函数:先取要提醒的消息对应的当前联系人curUser基于curUser构造锁屏结果集mDataList给锁屏页面读取
1. getSingleUnreadMsg() 获取在锁屏弹窗上展示的消息列表,看点有恶心逻辑,不管怎么样,只获取一条2. mSingleAdapter.setSingeList() UI列表刷新3. mSingleList.setOnTouchLister() 点击事件处理4. enterAIO() 跳AIO逻辑
BaseMessageManager.addMessageRecord()
1. 先获取InComingMsg(这里的逻辑巨坑,见右侧,所以流程是先add,再notify)2. showMsgNotification()3. vibrationAndAudio() 震动与铃声4. showInComingMsg() 展示通知栏 getIntentByMessage() 构造跳转intent showNotification() 展示通知栏
QQAppInterface.showNotification()
QQLsActivity.mRecentAdapter.setList()
QQLsActivity.updateUI()
OnlinePushMessageprocessor.notifyNewMessage()
MessageHeader.notify()
QQMessageFacade.addMessage()
结果集有多个会话
QQLsActivity.updateUI2()
QQMessageFacade.addMultiMessageInner()
QQMessageFacade.setIncomingMsg()
QQLsRecentManager.neadStartQQLs()
0 条评论
下一页