WEB开发网
开发学院手机开发Symbian 开发 Symbian SMS 应用开发 阅读

Symbian SMS 应用开发

 2010-03-10 04:51:00 来源:WEB开发网   
核心提示:首先来介绍下与SMS相关的类吧,CMsvSession该类代表客户端(客户端MTM、用户接口MTM或者客户端消息应用程序)与消息服务器端的通讯通道,Symbian SMS 应用开发,每一个客户端线程对应一个该类的实例,CMsvSession提供客户端能及时获取消息服务端消息的有效方式,也就是发信箱CMsvEntry*

首先来介绍下与SMS相关的类吧。

CMsvSession

该类代表客户端(客户端MTM、用户接口MTM或者客户端消息应用程序)与消息服务器端的通讯通道。每一个客户端线程对应一个该类的实例,CMsvSession提供客户端能及时获取消息服务端消息的有效方式。一个消息客户端应用必须在正常使用任何MTM或CMsvEntry对象前,使用OpenSyncL()或者OpenASyncL()来新建一个session对象。

CClientMtmRegistry

Registry掌握了客户端所有目前可用的MTM有关的细节,消息客户端可以使用该类获得从CBaseMtm继承的对象。

CBaseMtm

这个类主要用来操作sms的内容,比如可以新建、修改sms;具体是使用方法下面将会借助代码说明,更详细的内容你也可以查看具体sdk的help。

CMsvEntry

相当于一个特定消息服务器的入口,当前entry与其的具体内容相关联。CMsvEntry包含两个部分的功能:一是可以允许访问与这个entry关联的,不同类型的数据;而是运行访问它的子entry。该类只在客户端使用,服务器端使用CMsvServerEntry。

TMsvEntry

用于代表消息服务器的一个入口,主要用于sms的新建。

接着就让我们来上代码分析吧。

TMsvSelectionOrdering sort;

sort.SetShowInvisibleEntries(ETrue); //全部内容排序,包括隐藏

//设置入口为outbox,也就是发信箱

CMsvEntry* entry = CMsvEntry::NewL(*iSession,KMsvGlobalOutBoxIndexEntryId,sort);

CleanupStack::PushL(entry);

//选择全部内容

CMsvEntrySelection* entries = entry->ChildrenL();

CleanupStack::PushL(entries);

TTime time;

//得到首信息的时间,At(0)代表首信息,取其他的可以给出相应的index

time = entry->ChildDataL(entries->At(0)).iDate;

//弹出对话框,有首信息接收人的号码信息

CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;

informationNote->ExecuteLD(entry->ChildDataL(entries->At(0)).iDetails);

CleanupStack::PopAndDestroy(2);

其中 CMsvSession* iSession

一般用到他要先连接会话 iSession = CMsvSession::OpenAsyncL(*this);还要继承MMsvSessionObserver类

1 2  下一页

Tags:Symbian SMS 应用开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接