如何在UIQ中阅读短信/彩信?
答案 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或索尼爱立信开发社区。 p>
您的应用程序不应使用RSocket接收彩信。
小心,再一次,嵌入式Java虚拟机PushRegistry模块和本机消息查看器应用程序引擎可能已经在监听所有传入的MMS消息。
有趣的头文件是mmsclient.h,MmsSettingsStore.h,mmsentry.h,MmsApiExtensions.h
特别感兴趣的是CMmsClientMtm,MmsApiExtensions,MMsvSessionObserver和MMMSMessageHandler。