如何在UIQ中阅读短信/彩信

时间:2008-11-11 07:38:05

标签: symbian uiq3 uiq

如何在UIQ中阅读短信/彩信?

1 个答案:

答案 0 :(得分:3)

我将假设您需要有关如何编写某些C ++源代码的信息,这些源代码将允许应用程序接收SMS / MMS并读取其收到的消息内容。


在Symbian OS上,邮件存储可以存储短信,彩信,电子邮件......

邮件存储的API是通用的。

为了向/从消息存储库写入和读取数据,您需要熟悉以下类:TMsvId,CMsvSession,CClientMtmRegistry,TMsvEntry和CMsvEntry。


我显然有偏见,但我建议您阅读http://www.quickrecipesonsymbianos.com的消息传递章节,以便了解消息存储如何工作以及示例代码以便轻松使用它。


另一方面,接收消息更复杂。


使用通用网络API完成收听和接收短信。这是RSocketServ和RSocket。大多数情况下,您需要在套接字上使用正确的IOCTL参数。

您可以指定特定端口,以便仅接收适用于您的应用程序的SMS。尝试接收所有SMS可能是一个问题,因为本机消息查看器引擎和嵌入式Java虚拟机PushRegistry模块都可以监听所有SMS。

您可以在SDK的以下头文件中找到有用的类和常量: gsmuset.h smsuaddr.h smsustrm.h gsmubuf.h gsmumsg.h。

TSmsAddr,KSMSDatagramProtocol,KSMSAddrFamily,TSmsUserDataSettings,CSmsBufferBase,CSmsPDU,RSmsSocketReadStream,RSmsSocketWriteStream和CSmsMessage是特别感兴趣的。异步接收SMS实际上是使用RSocket.Ioctl()。

完成的

有特定于SMS的错误代码,其名称以“KSmsErr”

开头

在UIQ上接收MMS是通过UQI特定的API完成的。在Series60手机上你找不到的。这就是为什么你不会在文学中找到关于Symbian通用MMS API的话题。当您有更多详细问题时,最好直接进入UIQ或索尼爱立信开发社区。

您的应用程序不应使用RSocket接收彩信。

小心,再一次,嵌入式Java虚拟机PushRegistry模块和本机消息查看器应用程序引擎可能已经在监听所有传入的MMS消息。

有趣的头文件是mmsclient.h,MmsSettingsStore.h,mmsentry.h,MmsApiExtensions.h

特别感兴趣的是CMmsClientMtm,MmsApiExtensions,MMsvSessionObserver和MMMSMessageHandler。


祝你好运。