AndroidManifest.xml
說明:Android的閃光燈需使用Camera來控制,所以需要在AndroidManifest.xml增加 permission ,否則無法控制。
<uses-permission android:name="android.permission.CAMERA" />Sample code:
Import:
import android.hardware.Camera; import android.hardware.Camera.Parameters;
前置設定(onCreate、onResume)
Camera mCamera = null; //設定為全域變數 @Override protected void onResume() { super.onResume(); mCamera = Camera.open(); // 取得Camera }
開啟亮燈(可寫成function用按鈕呼叫控制)
public void on() { Parameters mParameters = mCamera.getParameters(); //取得Camera的參數 mParameters.setFlashMode(Parameters.FLASH_MODE_TORCH); //設定持續亮燈模式 mCamera.setParameters(mParameters); //將參數回存回Camera }
關閉亮燈(可寫成function用按鈕呼叫控制)
public void off() { Parameters mParameters = mCamera.getParameters(); //取得Camera的參數 mParameters.setFlashMode(Parameters.FLASH_MODE_OFF); //設定關閉亮燈 mCamera.setParameters(mParameters); //將參數回存回Camera }
程式暫停或結束後需Release Camera
protected void onPause() { super.onPause(); off() //關閉閃光燈 mCamera.release(); //Release Camera }
其他:
確認Android是否有閃光燈的Device
boolean hasFlash = getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
FLASH_MODE_ON:只亮一次,亮完後關閉亮燈
FLASH_MODE_OFF:關閉亮燈
FLASH_MODE_TORCH:持續亮燈
沒有留言:
張貼留言