Android MMS发送代码实现详解
需积分: 11 3 浏览量
更新于2024-07-19
1
收藏 107KB DOC 举报
"MMS发送流程在Android 2.2中的实现主要集中在`com.android.mms.ui.ComposeMessageActivity`类中,涉及点击发送按钮、确认发送、处理非法收件人等关键步骤。"
在Android系统中,MMS( Multimedia Messaging Service,多媒体信息服务)用于发送包含文本、图片、音频或视频等多媒体内容的消息。以下是对MMS发送流程的详细解释:
1. **点击发送按钮**:
当用户点击发送按钮(`mSendButton`)时,`onClick()`方法会被调用。在`ComposeMessageActivity.java`中,`onClick(View v)`方法检查按钮点击事件,并通过`isPreparedForSending()`方法确认消息是否准备好发送。如果准备就绪,将会调用`confirmSendMessageIfNeeded()`进行进一步处理。
2. **确认发送消息**:
`confirmSendMessageIfNeeded()`方法主要用于处理发送前的验证。首先,它检查收件人编辑器(`mRecipientsEditor`)是否可见。若不可见,意味着是向已有会话的联系人发送,因此直接调用`sendMessage(true)`发送消息。如果收件人编辑器可见,则会进行更复杂的判断。
3. **判断是否需要以MMS形式发送**:
使用`mWorkingMessage.requiresMms()`方法来确定当前消息是否包含多媒体内容,从而需要以MMS方式发送。
4. **处理非法收件人**:
如果存在非法收件人,`mRecipientsEditor.hasInvalidRecipient(isMms)`会返回`true`。此时,系统将根据收件人是否同时包含合法和非法地址来决定操作:
- 若既有合法也有非法收件人,系统会创建一个警告对话框,标题使用`R.string.has_invalid_recipient`资源,显示不合法号码列表,并提供尝试发送和取消发送的选项。
- 若所有收件人都是非法的,系统会显示一个错误消息,提示用户无法发送。
5. **发送与取消监听器**:
对话框中的按钮(`PositiveButton`和`NegativeButton`)分别绑定到`SendIgnoreInvalidRecipientListener`和`CancelSendingListener`,监听用户选择发送还是取消。如果用户选择尝试发送,系统会忽略不合法的收件人并尝试发送;如果选择取消,发送操作将被终止。
这个过程涉及到用户界面交互、数据验证以及错误处理,是MMS发送的关键步骤。在实际应用中,开发者可能需要根据具体需求对这些步骤进行扩展或修改,例如添加额外的验证规则、错误处理逻辑或用户体验优化。
2014-05-03 上传
2022-01-11 上传
2023-01-13 上传
点击了解资源详情
点击了解资源详情
阔阔在线
- 粉丝: 0
- 资源: 2
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案