Symbian中创建和发送MMS

原创 2006年06月13日 16:36:00

Ø         重要的概念术语

MTMMessage Type Module,是一组的用来处理不同类型消息的模块

Entry:数据项,描述消息分层结构中每一个结点属性的数据结构

Session:会话,是symbianclient/server通讯的基础,在客户端提供接口,服务器提供接口的实现

 

Ø         symbian的消息组织结构

手机中的各种消息都是以数据项(Entry)形式供程序操作,数据项有4种类型, Symbian

OS为每种数据项提供了相应的常量标识UID,这些UID保存在msvuids.h文件中

 

Ø   文件夹类型, 对应常量UIDKUidMsvFolderEntry,和PC上的文件系统一样,每个文

件夹可以包含其它数据项也可能是其它数据项的子数据项。

Ø   消息类型,对应常量UIDKUidMsvMessageEntry,它表示该数据项是一条消息。

Ø   附件类型,对应常量UIDKUidMsvAttachmentEntry,它表示该数据项是某条信息的

附件。

Ø   服务类型,对应常量UIDKUidMsvServiceEntry,服务数据项包含某个消息服务的配置信息,在一般情况还拥有通过该服务收发的消息数据项。

 

除了上面提到的四种类型UID还有常用到的UIDKUidMsvRootEntrymsvids.h),它指的是根数据项,根数据项包含了4个标准文件夹数据项,分别是收件箱(KMsvGlobalInBoxIndexEntryId)、发件箱(KMsvGlobalOutBoxIndexEntryId)、草稿箱(KMsvDraftEntryId)和已发送项(KMsvSentEntryId),另外根数据项下面还包含有各种消息服务的服务项。(具体参考http://blog.csdn.net/beover1984)

 

Ø         创建MMS和发送MMS

(1)    创建MMS

// switch to draft box

    iMmsMtm->SwitchCurrentEntryL(KMsvDraftEntryId);

     // create a new mms with default settings

   iMmsMtm->CreateMessageL(iMmsMtm->DefaultSettingsL());

    CMsvEntry& serverEntry = iMmsMtm->Entry();

    TMsvEntry entry(serverEntry.Entry());

    entry.SetInPreparation(EFalse);

    entry.SetVisible(ETrue);

    entry.SetSendingState(KMsvSendStateWaiting);

    entry.iDate.HomeTime();

    serverEntry.ChangeL(entry);

(2)    添加附件

     // check if the mobile support attachments

    if(iAttachFileName != NULL &&

            iMmsMtm->QueryCapability(KUidMtmQuerySupportAttachments, queryResponse) == KErrNone)

    {

        TMsvId attID = KMsvNullIndexEntryId;

        iMmsMtm->CreateAttachment2L(attID, *iAttachFileName);

        iMmsMtm->SetMessageRootL(attID);

        iMmsMtm->SaveMessageL();

}

// add text body

    RFileWriteStream  txtFile;

txtFile.Replace(CCoeEnv::Static()->FsSession(), _L("c://warning.txt"), EFileWrite|EFileShareAny);

    txtFile.WriteL(iMessageText);

    txtFile.Close();

     TMsvId attID = KMsvNullIndexEntryId;

    iMmsMtm->CreateAttachment2L(attID, _L("c://warning.txt"));

    iMmsMtm->SetMessageRootL(attID);

    iMmsMtm->SaveMessageL();

(3)    发送MMS

    // sync send mms

    CMsvOperationWait * wait = CMsvOperationWait::NewLC();

    wait->iStatus = KRequestPending;

    CMsvOperation* op = NULL;

    op = iMmsMtm->SendL(wait->iStatus);

    wait->Start();

    CleanupStack::PushL(op);

    CActiveScheduler::Start();

    while (wait->iStatus.Int() == KRequestPending)

    {

        CActiveScheduler::Start();

    }

    CleanupStack::PopAndDestroy(2);

Android短信Mms发送流程

短信的发送流程(framework) 一、主要文件 [plain] view plain copy /packages/apps/Mms/co...
  • wds1181977
  • wds1181977
  • 2016年07月07日 16:54
  • 1951

发送SMS与MMS过程

pending_msgs表: proto_type:0代表sms,1代表mms。 msg_id     :代表pdu表的id msg_type : 128代表等待发送的信息,130代表失败后等待...
  • liu149339750
  • liu149339750
  • 2016年02月29日 18:58
  • 1465

Android-MMS中彩信附件的格式及分析

其中 root-layout 是附件播放时的布局大小,其中分为 Image/Text 两块布局,播放的时候显示图片和视频的大小是以 Image 布局为准,文字的大小以 Text 的布局为准,从 lef...
  • jingwen3699
  • jingwen3699
  • 2017年03月29日 10:57
  • 815

Android 短信模块分析(四) MMS之短信的发送与接收

1.4信息发送 com.android.mms.data.WorkingMessage.java 类  send()函数:   public void send() {       ......   ...
  • t12x3456
  • t12x3456
  • 2013年07月17日 09:11
  • 12293

MMS技术及其在电力系统通信协议中的应用研究

摘要:MMS技术在电力系统通信协议中应用越来越广泛,本文将对MMS技术作简要的介绍和分析,并在此基础上对MMS技术在IEC60870-6 TASE2系列标准和IEC61850标准中的应用进行了分析。 ...
  • u010236550
  • u010236550
  • 2015年01月22日 15:20
  • 1626

Android7.0 Messaging源码分析(5) - MMS类库篇

在《Android7.0 Messaging源码分析(2) - Application 创建篇》中介绍了在 application 创建过程中会初始化MMS类库,这篇文章对 MMS 类库做简要分析。 ...
  • wenping1980
  • wenping1980
  • 2016年11月18日 14:05
  • 1472

SMS/MMS发送逻辑

Android 7对自己的Messaging 做了比较多的改动,去除了之前的transaction文件夹等,个人大概看了,基本进行了一次重构,把发送MMS/SMS的数据处理放到了datamodel文件...
  • u011834943
  • u011834943
  • 2017年01月13日 01:15
  • 622

mms流媒体服务器搭建(包含预览即本地播放)

实现功能说明: 实现服务端与客户端视频文件实时播放功能即直播功能(注:服务端和客户端有延迟),服务端截图如下: 客户端可以使用vlc播放器通过如下地址播放:mms://127.0.0.1:80...
  • zaokang5603
  • zaokang5603
  • 2017年11月14日 15:04
  • 102

网络电台mms地址大全(一)

中央台 中央人民广播电台中国之声 mms://211.89.225.141/cnr001 中央人民广播电台经济之声 mms://211.89.225.141/cnr002 中央人民广播电台音乐之...
  • yuanya
  • yuanya
  • 2015年03月20日 23:51
  • 5098

Android Mms短信的发送流程,短信发送源码解析

发送前的校验 从短信的点击按钮开始着手: // packages/apps/Mms/src/com/android/mms/ui/ComposeMessageActivity.java @O...
  • qq_25804863
  • qq_25804863
  • 2015年10月28日 02:00
  • 3058
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Symbian中创建和发送MMS
举报原因:
原因补充:

(最多只允许输入30个字)