资源说明: Android MMS 发送流程分析
Android 操作系统中,MMS 发送流程是一个复杂的过程,涉及到多个组件和类的交互。在本文中,我们将对 Android 2.2 版本中的 MMS 发送流程进行详细的分析。
点击发送按钮
在 ComposeMessageActivity 中,点击发送按钮时,会触发 onClick 事件。在这个事件中,会首先判断当前是否准备好发送信息,如果准备好了,则会调用 confirmSendMessageIfNeeded 方法确认是否需要发送短信。
确认发送信息
在 confirmSendMessageIfNeeded 方法中,会首先判断是否编辑联系人不可见。如果不可见,说明当前是给已存在会话的联系人发送短信,则会直接调用 sendMessage 方法发送信息。如果编辑联系人可见,说明当前是给新建联系人的短信,则需要判断是否含有不合法的收件人。
判断收件人
在 confirmSendMessageIfNeeded 方法中,会使用 mRecipientsEditor.hasInvalidRecipient 方法判断是否含有不合法的收件人。如果含有不合法的收件人,会弹出尝试发送对话框,提示用户是否继续发送信息。如果不含有不合法的收件人,或者用户选择继续发送信息,则会调用 sendMessage 方法发送信息。
发送信息
在 sendMessage 方法中,会首先判断当前是否需要以彩信形式发送信息。如果需要,以彩信形式发送信息;否则,以短信形式发送信息。在发送信息之前,会检查当前的 EcmMode 状态,以确保发送信息的安全性。
EcmMode 状态
EcmMode 状态是 Android 系统中的一种安全机制,用于防止恶意应用程序发送垃圾信息。在 sendMessage 方法中,会检查当前的 EcmMode 状态,以确保发送信息的安全性。如果当前处于 EcmMode 状态,会阻止发送信息,以防止恶意应用程序发送垃圾信息。
结论
Android MMS 发送流程是一个复杂的过程,涉及到多个组件和类的交互。在本文中,我们对 Android 2.2 版本中的 MMS 发送流程进行了详细的分析,希望能够帮助读者更好地理解 Android MMS 发送流程的实现原理。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。
English
