请教:关于返回短信状态的问题

DemiDI 2007-12-06 07:31:46
请问:在程序中使用RSendAs和RSendAsMessage类,调用RSendAsMessage的SendMessageAndCloseL发送短信,怎样得到短信是否发送成功的状态?谢谢!
...全文
170 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanxiao_0210 2008-01-08
  • 打赏
  • 举报
回复
mark
caitian6 2008-01-08
  • 打赏
  • 举报
回复
mark
zesky 2007-12-17
  • 打赏
  • 举报
回复
适用socket编程很容易实现这种功能
jmulxg 2007-12-12
  • 打赏
  • 举报
回复
mark
DemiDI 2007-12-10
  • 打赏
  • 举报
回复
我的发短信要求不能激活短信编辑器,CSendUi怎样做到呢?我当时尝试过使用这个类,没有成功……
anel 2007-12-10
  • 打赏
  • 举报
回复
建议你使用CSendUi
DemiDI 2007-12-08
  • 打赏
  • 举报
回复
我用了RSendAsMessage::ProgressL()跟踪短信状态,代码如下:

RSendAs iSendAs;
RSendAsMessage iSendAsMessage;
TSendAsProgress progress;
TInt ret1, ret2, ret3;

User::LeaveIfError(iSendAs.Connect());
iSendAsMessage.CreateL(iSendAs, KUidMsgTypeSMS);

iSendAsMessage.SetBodyTextL(……);
iSendAsMessage.AddRecipientL(……);

iSendAsMessage.ProgressL(progress);
ret1 = progress.iState;

TRequestStatus iStatus;
iSendAsMessage.SendMessage(iStatus);

iSendAsMessage.ProgressL(progress);
ret2 = progress.iState;

User::WaitForRequest(iStatus);

if (iStatus == KErrNone)
{
iSendAsMessage.ProgressL(progress);
ret3 = progress.iState;
}

iSendAsMessage.Close();
iSendAs.Close();

ret1的值为ESendStateInPreparation,
ret2的值为ESendStateWaitingToSend,
ret3不管发送成功与否,它的值都是ESendStateFailed。
ProgressL应该是得到短信状态的函数吧?
ret3不能取得正确的值,是因为我的iStatus没有封入活动对象的原因吗?
望高手赐教!
anel 2007-12-07
  • 打赏
  • 举报
回复
RSessionBase::Send()
RSessionBase::SendReceive()

3,119

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧