如何添加一个提醒

一.在新版本上添加一个提醒:
下面的说明适合pluto 和 cosmos,在10A1108MP之后的版本上添加一个提醒。
具体步骤如下:
1, 在 srv_reminder_type 中添加type;



2,在当前 app的res 文件中注册EVT_ID_SRV_REMINDER_NOTIFY 的 callback;
例如:
<RECEIVER id="EVT_ID_SRV_REMINDER_NOTIFY" proc="mmi_theme_rmdr_notify"/>

3,在对应的 app 文件中实现callback,处理srv_reminder_notify_enum 中的消息;可以参考其他的app;
注意,定义的闹钟响应完了,需要执行 srv_reminder_notify_finish 来清除定时器。
关于设置alarm,请使用 srv_reminder_set;如果是要设置重复提醒,需要当前app做处理,在前一次提醒响应后,计算并设置下一个提醒;
取消alarm,使用srv_reminder_cancel;
关于下面原来创建 alarm 的四个函数,现在不需要使用了:
AlmSetExpiryTimeCB(ALM_TYPE_ALARM, AlmExpiryTimeCBH);
AlmSetExpiryHandlerCB(ALM_TYPE_ALARM, AlmExpiryHandlerCB);
AlmSetInitHandlerCB(ALM_TYPE_ALARM, AlmInitNvram, AlmReInitQueueCBH);
AlmSetStopAlarmCB(ALM_TYPE_ALARM, AlmSnoozeHandler);
请参考注册消息 EVT_ID_SRV_REMINDER_NOTIFY 的地方;
例如:
theme 中注册的情况: <RECEIVER&NBSP;ID="EVT_ID_SRV_REMINDER_NOTIFY"&NBSP;PROC="MMI_THEME_RMDR_NOTIFY" />
在 mmi_theme_rmdr_notify 中,就会处理EVT_ID_SRV_REMINDER_NOTIFY 带来的状态,是 srv_reminder_notify_enum 中的一种:
/* Reminder notification enum */
typedef enum
{
SRV_REMINDER_NOTIFY_INIT, /* Ap should init reminder related data */
SRV_REMINDER_NOTIFY_EXPIRY, /* Reminder expiry */
SRV_REMINDER_NOTIFY_REINIT, /* If the current time is changed, AP should set all reminder time again */
SRV_REMINDER_NOTIFY_DEINIT, /* AT command ask for pwr-off, reminder need to notify all active type. */
SRV_REMINDER_NOTIFY_TOTAL /* End. */
} srv_reminder_notify_enum;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值