当前位置: 代码迷 >> BlackBerry >> BlackBerry 下不同的消息提醒方法
  详细解决方案

BlackBerry 下不同的消息提醒方法

热度:8185   发布时间:2013-02-26 00:00:00.0
BlackBerry 上不同的消息提醒方法

作者: 王恒进

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.updateIconicon;

?

2?新应程序标为未读

?

Bitmap icon=Bitmap.getBitmapResource("icon/read.gif");

?

net.rim.blackberry.api.homescreen.HomeScreen.updateIconicon;

?

?

?

?

?

?

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:

  相关解决方案