操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

在 BREW™ 中处理 SMS

2006-10-9 网友评论 0 条 点击进入论坛

BREW 电话层监测进入的短消息服务 (SMS) 的消息。 满足以下一个或多个条件的应用程序会收到 SMS 消息:

任何已将 SMS 文本消息“指向”它的 BREW 应用程序。

已经注册可以根据消息的电信业务 ID 来接收指定 SMS 消息的应用程序

非 BREW SMS 消息是指不是面向 BREW 应用程序发送的消息。 如果有 BREW 应用程序正在运行时电话却收到非 BREW SMS,则此 BREW 应用程序将会中止/停止,稍后再恢复/开始。


指向 BREW 应用程序的 SMS 文本消息(电信业务 ID 4099)

指向 BREW 的 SMS 的格式如下:

//BREW:<Class ID>:<Text Payload>例如:

//BREW:01009FFO:test 或 //BREW:0x01009FF0//BREW 表示指向 BREW 的 SMS,01009FF0 是目标小程序的 Class ID,test 是消息文本。

为了让应用程序接收 SMS 信息,必须在应用程序 HandleEvent() 方法中处理 EVT_APP_MESSAGE,使其返回 TRUE。

 

收到 SMS 消息时,BREW 会临时提醒应用程序发送 EVT_APP_MESSAGE 事件。 如果您想启动应用程序,请调用 EVT_APP_MESSAGE 处理程序代码中的 ISHELL_StartApplet()。 否则,您可以不启动小程序而自行处理。

case EVT_APP_MESSAGE:
//启动小程序
ISHELL_StartApplet(pMe->a.m_pIShell,
AEECLSID_HELLOWORLD);
return TRUE;

指向 BREW 应用程序的 SMS 消息的文本有效载荷作为 EVT_APP_MESSAGE 事件通知中的 dwParam 参数提供。 应用程序不负责提供存储消息数据的内存。
SMS 文本有效载荷提取的示例代码:

case EVT_APP_MESSAGE:
{
char* textPayload = (char *)dwParam;
return TRUE;
}

为了理解 EVT_APP_MESSAGE 事件与 EVT_APP_SUSPEND 和 EVT_APP_RESUME 事件的关系,先假定应用程序 firstApp 正在运行。

如果收到针对 firstApp 的 EVT_APP_MESSAGE 事件,则不中止 firstApp。

如 EVT_APP_MESSAGE 指向另一个应用程序(如 secondApp),而且 secondApp 处理它,但不自动启动,则 firstApp 不会中止。

如果 EVT_APP_MESSAGE 事件针对另一个应用程序(如 secondApp),而且 secondApp 基于该事件自动启动,则 firstApp 将被中止。 用户终止 secondApp 时,firstApp 将恢复。

请注意:在 BREW 1.0 中,TAPI 接口当前仅在电话上工作,但不在模拟器上工作(它在 BREW SDK 版本 1.1 中提供)。 要测试指向 BREW 的 SMS 消息的接收情况,可以从 http://www.msg.myvzw.com/ 发送一个 SMS。 主题应该为空,正文应该采用上述格式 (//BREW:01009FFO:test)

根据电信业务 ID 注册接收 SMS 消息的应用程序
请注意在当前的 BREW 版本中,如果已注册为使用特定电信业务 ID 接收通知,则不能抽取 SMS 的正文。此缺陷已在 BREW 2.0.2 中修正。

在 BREW 2.0.2 以上版本中:

如果应用程序希望使用 4099 以外的电信业务 ID 接收 SMS 消息,则该应用程序应该通过 ISHELL_RegisterNotify() 注册电信业务 ID。 收到指定电信业务 ID 的 SMS 消息时,该应用程序将获取 EVT_NOTIFY 事件。 然后可以使用 ITAPI_ExtractSMSText() 提取 SMS 消息文本。 请注意不要注册需要 OEM 处理的关键电信业务 Id,如 4098,语音邮件通知等。

非 BREW SMS 消息
收到非 BREW SMS 消息时,正在运行的应用程序会中止,然后再恢复。 请参阅中止和恢复应用程序。

要在 Sharp Z-800 上接收非 BREW SMS 消息,需要进行某些设置。 请参阅 FAQ 为什么在 Sharp Z-800 上启用非 BREW SMS 消息接收功能时要求设置?

要测试非 BREW SMS 消息的接收情况,可以从 http://www.msg.myvzw.com/发送一个 SMS。

移动起始 SMS
BREW 2.0 以上版本支持移动起始 SMS。 请参阅《BREW SDK 2.0 API 参考指南》中的 ITAPI_SendSMS。

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 登录邮箱: 密码:
  匿名发表
今日推荐
技术文库(共有 46473 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail