1
我有一個簡單的黑莓應用程序,用於更改LED設置(顏色,閃爍,模式)。 我目前的測試環境包含一個黑莓Bold(9000),我一直在遇到一個問題,我不知道如何繼續。如何將LED配置重置爲原始設置
假設我目前的Blackberry設置(LED明智)不會閃爍,除非有未接來電,新消息(各種類型)。我寫的程序會改變LED,這很好,但問題在於關閉程序。關閉程序會導致保存/放棄/取消對話框出現。現在,這不是問題,因爲我只測試應用程序,目前的問題是,即使您放棄所做的更改,指示燈也會繼續閃爍。我演示了一個朋友的程序,它一直在閃爍,我也注意到當我收到一條新消息時,燈光變爲紅色並保持閃爍(而不是Green,這是我在演示中顯示的最後一種顏色)。
退出程序時,如何將LED重置爲之前的狀態?應該還是可以複製現有設置(如在網絡可用時閃爍或不閃爍),然後在退出時重置爲已保存的默認設置?還是有更好的重置LED的方法?
代碼很簡單;觀點:
public HomeScreen(boolean error) {
redLED = new CustomButtonField("RED", Color.RED, Color.BLACK, Color.BLACK,
Color.WHITE, Field.FOCUSABLE);
add(redLED);
blueLED = new CustomButtonField("BLUE", Color.RED, Color.BLACK, Color.BLACK,
Color.WHITE, Field.FOCUSABLE);
add(blueLED);
whiteLED = new CustomButtonField("WHITE", Color.RED, Color.BLACK, Color.BLACK,
Color.WHITE, Field.FOCUSABLE);
add(whiteLED);
greenLED = new CustomButtonField("GREEN", Color.RED, Color.BLACK, Color.BLACK,
Color.WHITE, Field.FOCUSABLE);
add(greenLED);
redLED.setChangeListener(this);
blueLED.setChangeListener(this);
whiteLED.setChangeListener(this);
greenLED.setChangeListener(this);
}
public HomeScreen(long arg0)
{
super(arg0);
// TODO Auto-generated constructor stub
}
public void fieldChanged(Field field, int context)
{
LED.setState(LED.LED_TYPE_STATUS, LED.STATE_BLINKING);
if(field == redLED) {
LED.setColorConfiguration(500,5000,Color.RED);
}
if(field == blueLED) {
LED.setColorConfiguration(500,5000,Color.BLUE);
}
if(field == whiteLED) {
LED.setColorConfiguration(500,5000,Color.WHITE);
}
if(field == greenLED) {
LED.setColorConfiguration(500,5000,Color.GREEN);
}
}
這樣做解決問題的保存對話框,並關閉LED,但有可能郵件到達或閃存當我有當重置LED說,閃光報道?那麼有可能做到這一點。 – 2009-12-08 04:01:02
如果您希望程序在所有屏幕彈出堆棧後繼續在後臺運行,則需要在您的onClose()方法中調用類似於「Application.getApplication()。requestBackground()」的內容屏幕。 – 2009-12-08 06:31:40
將從bb菜單再次打開程序是否會創建應用程序的新實例,還是隻會將應用程序放到前臺,並在堆棧中顯示新屏幕? – 2009-12-10 05:05:30