Nokia在標准的J2ME API的基礎上,在所有Nokia的手機中擴展了一個功能,這些功能以擴展API的形式提供給開發人員,這些擴展API就是著名的Nokia UI API。
關於Nokia UI API的文檔,可以在Nokia Developer’s Suit安裝目錄下的\Devices下的任意一個模擬器的docs目錄中找到。
DeviceControl類是一個控制手機背景燈閃爍以及手機震動的類,該類屬於com.nokia.mid.ui包,在使用以前需要引入該包。其中包含的主要方法有:
1、FlashLights
該方法的方法聲明如下:
public static void FlashLights(long duration)
該方法的作用是臨時閃爍屏幕背景燈duration參數指定的毫秒數。
該方法調用以後不會阻塞線程的執行,如果設備不支持該方法,則該方法會自動返回,如果設置的時間超過設備支持的最大時間,則自動在閃爍最大時間以後返回。
該方法返回時,會自動返回到閃爍以前的狀態。
想結束該方法的執行,可以使用FlashLights(0)來實現。
其中參數:
duration——指閃爍的毫秒數。如果該數字小於0,則拋出IllegalArgumentException。
使用示例:
DeviceControl. Flashlights(3000);
該代碼的作用是設置背景燈閃爍3秒鐘。
2、setLights
該方法的聲明如下:
public static void setLights(int num, int level)
該方法的作用是設置屏幕背景燈的亮度。
其中參數:
num——0代表顯示背景燈,其他參數暫時保留。
level——亮度等級,0-100之間的數字,0代表關閉,100是最大的亮度。
實際使用示例:
DeviceControl. setLights(0,60);
該代碼的作用是設置背景燈的亮度為60。
3、startVibra
該方法的聲明如下:
public static void startVibra(int freq, long duration)
該方法的作用是使手機產生震動效果。
該方法不會阻塞程序的執行,在調用該方法以後,程序會自動返回。
其中參數:
freq——震動的頻率,1-100之間的數字,100表示最大震動頻率。
duration——震動持續的時間,單位是豪秒。
使用示例:
DeviceControl. startVibra (50,1000);
該代碼的作用是使手機以50的頻率震動1秒鐘。
4、stopVibra
該方法的聲明如下:
public static void stopVibra()
該方法的作用是停止手機的震動,如果手機沒有處於震動狀態,則該方法安靜的返回。
實際使用示例:
DeviceControl. stopVibra();
其實,其他的廠商擴展API中也實現了類似的功能,只是表達形式不同罷了。