作者: 王恒进
1. 背景
BlackBerry 上的一大特色就是基于消息的功能,其中消息提醒功能是初学 BlackBerry 遇到的一 大难题。BlackBerry 上的消息(Messaging)定义很广,包括邮件、短信/彩信、即使消息(如 MSN/FaceBook/Twitter/BlackBerry Messenger 等)、以及应用程序自己定义的消息。
这些消息到达 BlackBerry 时,BlackBerry 提供了 5 种消息提醒的方法,它们是:LED 闪烁、提 示音、界面左上方的小图标提醒(叫做 Indicator),应用程序图标的变化(比如在有新消息到 来时,应用程序图标的右上角会出现一个红色的星号)。
同时,BlackBerry 提供一种机制,可以将所有的消息都注册到系统唯一的 Message Inbox 中
(也就是第一排左边第一个图标),在这个 Inbox 中,当不同的应用有新的消息到来时,可以 新添一条自己的记录(包含自定义的应用图标,自定义的打开菜单,在 Message 文件列表中 创建自己的消息目录)。
2. 常见的 5 种提醒方式
2.1 应用程序图标
效果:
示例代码:
1, 更新应用程序图标为已读
Bitmap icon=Bitmap.getBitmapResource("icon/read.gif");
net.rim.blackberry.api.homescreen.HomeScreen.updateIcon(icon);
2, 更新应用程序图标为未读
Bitmap icon=Bitmap.getBitmapResource("icon/read.gif");
net.rim.blackberry.api.homescreen.HomeScreen.updateIcon(icon);
2.2 LED 灯
效果:
示例代码:
1,首先需要 import 相应的 API 包:
import net.rim.device.api.system.*;
或者
import net.rim.device.api.system.LED;
2,关闭 LED 灯
if(LED.isSupported(LED.LED_TYPE_STATUS))
{
LED.setState(LED.STATE_OFF);
}
3,打开 LED 灯或者开启 LED 灯闪烁
if(LED.isSupported(LED.LED_TYPE_STATUS))
{
//LED.setState(LED.STATE_ON);
//or
LED.setState(LED.STATE_BLINKING); LED.setConfiguration(100, 1000, LED.BRIGHTNESS_100);
}
4,注意捕获抛出的异常
如果 setState(int state)的输入参数为不正确的状态时,可能会抛出异常:
IllegalArgumentException
2.3 震动
示例代码:
net.rim.device.api.system.Alert.startVibrate(5*1000);
2.4 提示音
调用系统声音播放的接口,示例如下:
// create an instance of the player from the InputStream
Player player = javax.microedition.media.Manager.createPlayer(path, type);
player.realize();
player.prefetch();
VolumeControl volumeControl = (VolumeControl) player.getControl("VolumeControl");
volumeControl.setLevel(100);
// start the player player.start();
2.5 Indicator
如下图所示,BlackBerry 提供 Indicator 的机制,可以在顶部状态栏显示一个小图标,同时
还可以在小图标旁边显示一个数字,来标识是否有新消息到来以及新消息的数目。
效果:
常用的实现步骤:在系统中注册自己的图标。每来一条新的消息,将图标设为显示状态,并且将 图标旁边的数字加 1;当每读一条未读消息,将图标设为隐藏,并将图标旁边的数字减 1.
示例代码:
第一步:创建 ApplicationIndicatorRegistry 和 ApplicationIcon 对象
ApplicationIndicatorRegistry reg = ApplicationIndicatorRegistry.getInstance();
EncodedImage image = EncodedImage.getEncodedImageResource( "clowds.gif" );
ApplicationIcon icon = new ApplicationIcon( image );
第二步:注册或者获取 ApplicationIndicator 对象
//第一次调用时,通过方法 ApplicationIndicator register(ApplicationIcon icon,
boolean iconOnly, boolean visible)来注册 Indicator,其中第二个参数控制是否只显示 图标而不显示数字
ApplicationIndicator indicator = reg.register( icon, false, true);
//以后可以通过以下方法来获取已注册的 Indicator 实例。
ApplicationIndicator AppIndicator = reg.getApplicationIndicator();
第三步:操作 Indicator(显示/隐藏/删除)
//设置图标和数值
AppIndicator.set( newIcon, newValue );
//显示图标
ApplicationIndicator.setVisible(true).
margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; text-align:
分享到:
相关推荐
◆ 未接来电,新短信提醒:可选用 LED、振动、语音、消息框四种方式定时提醒。LED 可设置颜色、亮度、闪烁时间、亮度递减时间。 ◆ 来电防火墙:按照黑名单或白名单拦截电话。 ◆ 通话提示:电话接通或挂断振动...
◆ 未接来电,新短信提醒:可选用 LED、振动、语音、消息框四种方式定时提醒。LED 可设置颜色、亮度、闪烁时间、亮度递减时间。 ◆ 来电防火墙:按照黑名单或白名单拦截电话。 ◆ 短信防火墙:按照黑名单、白名单...
◆ 未接来电,新短信提醒:可选用 LED、振动、语音、消息框四种方式定时提醒。LED 可设置颜色、亮度、闪烁时间、亮度递减时间。 ◆ 通话提示:电话接通或挂断振动提示,电话接通时间定时提示。 ◆ 自动待机:关屏...
◆ 未接来电,新短信提醒:可选用 LED、振动、语音、消息框四种方式定时提醒。LED 可设置颜色、亮度、闪烁时间、亮度递减时间。 ◆ 来电防火墙:按照黑名单或白名单拦截电话。 ◆ 短信防火墙:按照黑名单或白名单...
◆ 未接来电,新短信提醒:可选用 LED、振动、语音、消息框四种方式定时提醒。LED 可设置颜色、亮度、闪烁时间、亮度递减时间。 ◆ 来电防火墙:按照黑名单或白名单拦截电话。 ◆ 短信防火墙:按照黑名单或白名单...
◆ 未接来电,新短信提醒:可选用 LED、振动、语音、消息框四种方式定时提醒。LED 可设置颜色、亮度、闪烁时间、亮度递减时间。 ◆ 来电防火墙:按照黑名单或白名单拦截电话。 ◆ 短信防火墙:按照黑名单或白名单...
◆ 未接来电,新短信提醒:可选用 LED、振动、语音、消息框四种方式定时提醒。LED 可设置颜色、亮度、闪烁时间、亮度递减时间。 ◆ 语音报号:可在来电或提醒时用语音播报归属地、号码类型、名字和号码的任意组合。...
◆ 未接来电,新短信提醒:可选用 LED、振动、语音、消息框四种方式定时提醒。LED 可设置颜色、亮度、闪烁时间、亮度递减时间。 ◆ 来电防火墙:按照黑名单或白名单拦截电话。 ◆ 短信防火墙:按照黑名单、白名单...
◆ 未接来电,新短信提醒:可选用 LED、振动、语音、消息框四种方式定时提醒。LED 可设置颜色、亮度、闪烁时间、亮度递减时间。 ◆ 来电防火墙:按照名单、通讯簿或地区(省份或城市的任意组合)拦截电话。 ◆ 短信...
◆ 未接来电,新短信提醒:可选用 LED、振动、语音、消息框四种方式定时提醒。LED 可设置颜色、亮度、闪烁时间、亮度递减时间。 ◆ 来电防火墙:按照黑名单或白名单拦截电话。 ◆ 短信防火墙:按照黑名单、白名单...
◆ 未接来电,新短信提醒:可选用 LED、振动、语音、消息框四种方式定时提醒。LED 可设置颜色、亮度、闪烁时间、亮度递减时间。 ◆ 来电防火墙:按照黑名单或白名单拦截电话。 ◆ 短信防火墙:按照黑名单、白名单...
◆ 未接来电,新短信提醒:可选用 LED、振动、语音、消息框四种方式定时提醒。LED 可设置颜色、亮度、闪烁时间、亮度递减时间。 ◆ 语音报号:可在来电或提醒时用语音播报归属地、号码类型、名字和号码的任意组合。...
◆ 未接来电,新短信提醒:可选用 LED、振动、语音、消息框四种方式定时提醒。LED 可设置颜色、亮度、闪烁时间、亮度递减时间。 ◆ 语音报号:可在来电或提醒时用语音播报归属地、号码类型、名字和号码的任意组合。...
黑莓和 iPhone 都提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群体。黑莓是企业业务用户的不二选择。但是,作为一种消费设备,它在易用性和 “新奇特性” 方面难以和 iPhone 抗衡。Android 则是...
•Offset:在BlackBerry5和iOS3上使用会抛出一个错误 •修复了选择器的多个bug 详细信息:JQUERY 1.8.2 CHANGE LOG •jquery-*.min.js(用于网站直接应用的压缩版本) •jquery-*.js(用于调试或学习研究的未...
•Offset:在BlackBerry5和iOS3上使用会抛出一个错误 •修复了选择器的多个bug 详细信息:JQUERY 1.8.2 CHANGE LOG •jquery-*.min.js(用于网站直接应用的压缩版本) •jquery-*.js(用于调试或学习研究的未...
如今,市场上已经有了许多移动平台,包括Symbian、iPhone、Windows Mobile、BlackBerry、Java Mobile Edition和Linux Mobile(LiMo)等。当我向别人说起Android时,他们的第一个疑问通常是:我们为什么还需要另一...
3、首次支持手机驱动及官方应用程序,支持包括:诺基亚、摩托罗拉、索爱、黑莓、Iphone、HTC(部分型号)、夏普(部分型号),其他品牌和型号逐步增加中。 4、在网络不畅的情况下,增加驱动列表重新获取功能。 ====...