Symbian OS应用开发 SMS的故事
2010-05-31 19:53:00 来源:WEB开发网首先,我们需要新建一个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
更多精彩
赞助商链接