WEB开发网
开发学院手机开发Symbian 开发 Symbian OS应用开发 SMS的故事 阅读

Symbian OS应用开发 SMS的故事

 2010-05-31 19:53:00 来源:WEB开发网   
核心提示:首先,我们需要新建一个sms而且得到接受方的号码,Symbian OS应用开发 SMS的故事(6),这两步可以参照上一节的内容,里边详细介绍了如何新建一条sms,然后就是要设定发送前的一些参数信息,并选择做一些相应的操作

首先,我们需要新建一个sms而且得到接受方的号码,这两步可以参照上一节的内容,里边详细介绍了如何新建一条sms。

然后就是要设定发送前的一些参数信息,并选择做一些相应的操作。

---------------------------------------------------------------------------------------------------

//iMtm是在新建sms阶段设定

TMsvEntry msvEntry = iMtm->Entry().Entry();

// 得到sms内容

CRichText& mtmBody = iMtm->Body();

mtmBody.Reset();

mtmBody.InsertL(0, KGDSMSTag); //插入我们的短信标示

//重新设定TMsvEntry

msvEntry.iDetails.Set(iRecipient->Des()); // set recipient info in details

msvEntry.SetInPreparation(EFalse); // set inPreparation to false

msvEntry.SetSendingState(KMsvSendStateWaiting); // set the sending state (immediately)

msvEntry.iDate.HomeTime(); // set time to Home Time

// 使用CSmsClientMtm类处理sms

CSmsClientMtm* smsMtm = STATIC_CAST(CSmsClientMtm*, iMtm);

smsMtm->RestoreServiceAndSettingsL();

// CSmsHeader封装sms消息的参数,像服务中心号码和发送设定

CSmsHeader& header = smsMtm->SmsHeader();

//CSmsSettings类用来详细设定sms Header

CSmsSettings* sendOptions = CSmsSettings::NewL();

CleanupStack::PushL(sendOptions);

sendOptions->CopyL(smsMtm->ServiceSettings());

sendOptions->SetDelivery(ESmsDeliveryImmediately);//设定立即发送

header.SetSmsSettingsL(*sendOptions);

//检查服务中心号码有效性

if (header.Message().ServiceCenterAddress().Length() == 0)

{

// 如果没有设定,则查找默认中心号码

CSmsSettings* serviceSettings = &(smsMtm->ServiceSettings());

// 中心号码列表为空

if (!serviceSettings->NumSCAddresses())

{

// 错误消息

iEikonEnv->InfoWinL(_L("No service center number"),_L("cannot send this

上一页  1 2 3 4 5 6 7  下一页

Tags:Symbian OS 应用开发

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