symbian - 如何在 UIQ 中读取短信/彩信

标签 symbian uiq3 uiq

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

最佳答案

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


在 Symbian 操作系统上,消息存储可以存储 SMS、MMS、EMAIL...

消息存储的 API 是通用的。

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


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


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


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

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

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

TSmsAddr、KSMSDatagramProtocol、KSMSAddrFamily、TSmsUserDataSettings、CSmsBufferBase、CSmsPDU、RSmsSocketReadStream、RSmsSocketWriteStream 和 CSmsMessage 特别令人感兴趣。异步接收短信实际上是使用 RSocket.Ioctl() 完成的。

存在名称以“KSmsErr”开头的 SMS 特定错误代码


在 UIQ 上接收彩信是通过 UQI 特定的 API 完成的。这是您在 Series60 手机上找不到的。这就是为什么您在文献中找不到太多有关 Symbian 通用 MMS API 的讨论的原因。当您有更详细的问题时,最好直接访问 UIQ 或索尼爱立信开发社区。

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

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

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

特别令人感兴趣的是 CMmsClientMtm、MmsApiExtensions、MMsvSessionObserver 和 MMMSMessageHandler。


祝你好运。

关于symbian - 如何在 UIQ 中读取短信/彩信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/280254/

相关文章:

qt - 如何在Qt中自定义 ListView

qt - 如何安装Qt mobility?

iphone - Android vs iPhone vs Windows Phone vs 其他作为内部业务软件平台

c - 没有填充的OpenSSL RSA加密无法正确加密