天天看點

《Android應用開發攻略》——2.9 簡單的手電筒應用程式

saketkumar srivastav

2.9.1 問題

你希望在斷電或者其他沒有光線的條件下,将智能手機作為手電筒使用。

2.9.2 解決方案

開啟智能手機或者android裝置上的相機led閃光燈,并且保持長亮,以充當手電筒。在術語方面有些糾結,英國将手電筒稱作“torch”,而北美稱為“flashlight”(這反映在代碼中使用的parameter常量中的名稱),盡管手電筒通常不會閃爍(flash),但是相機閃光燈會閃爍,是以,用相機的閃光燈作為手電筒非常好!

2.9.3 讨論

以下是應用開發之前的設計步驟:

1 . 通路手機的camera對象。

2 . 通路camera對象的參數。

3 . 獲得相機支援的閃光燈模式。

4 . 在on狀态下将閃光燈參數設定為flash_mode_torch,在off狀态下設定為flash_off。

例2-11中的代碼實作了應用程式必需的邏輯。

例2-11:将android裝置轉化為手電筒

例2-12中實作的基本邏輯如下:

1 . 檢查裝置中閃光燈是否存在。

2 . 獲得camera對象,并且打開以供通路。

3 . 獲得捕捉到的camera對象的參數。

4 . 用getsupportedflashmodes()檢查目前camera對象所支援的閃光燈模式。

5 . 如果切換狀态為on,将相機閃光燈模式設定為flash_mode_torch;否則,設定為flash_mode_off。

例2-12:手電筒錯誤處理

繼續閱讀