這是自己學習Android的心得備忘錄, 簡單透過幾個步驟,就可以利用Toggle按鈕做手電筒的開關使用!
一開始建立一個專案, 由於並不會有複雜的UI呈現, 所以就選擇Empty Activity.
然後指定最小API level: 23 (Android 6.0 later),這是因為原先的camera已經不建議使用, 而改用camera2了.
在activity_main.xml中, 增加一個元件Toggle Button,如以下紅框所示. 也可以使用Switch, 或是自訂元件畫面.
在AndroidManifest.xml裡, 增加紅色框中內容, 指讓程式可以使用camera flash功能.
再來到程式區中, 直接建立一個ToggleButton以及建立一個Listener去監聽On/Off動作事件.
在主程式中, 增加一個判別手機是否有flash的功能,如果沒有, 會執行showError()此功能,然後顯示相關訊息.
然後再加入CameraManager來使用以及建立一個字串名稱cameraId,
最後在toggleButton中的onCheckedChanged()裡, 加入設定手電筒的動作,就完成了!利用 isChecked名稱來判別是否啟用,此名稱也可以隨意更改以利方便了解其作用.
以下是最後呈現的畫面,由於模擬器並沒有支援閃光燈, 所以只在實機上使用.
總結:
對剛接觸Android程式實作時, 相信這並不是太難理解, 也許對非程式設計人員來說,何必那麼麻煩, 用別人的程式就好, 或是本身手機系統就有的功能拿來用就好, 學程式就是如此, 總是需要從基本開始, 先求有再求好, 儘管此專案還能有許多變化, 例如:更改畫面/調整手電筒開關圖案/建立一個Widget/亮度/閃爍..等等,這就讓想再更深入的人去嘗試了!