package com.example.openBackLight; import android.app.Activity; import android.hardware.Camera; import android.os.Bundle; import android.view.View; import android.hardware.Camera.Parameters; import android.widget.Button; public class MyActivity extends Activity { private Button button; private Camera camera; private Parameters parameters; public boolean hasClosed = true; // 定義開關狀態,狀態為false,打開狀態,狀態為true,關閉狀態 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button) findViewById(R.id.button); } public void toggleLight(View view) { if (hasClosed) { camera = Camera.open(); parameters = camera.getParameters(); parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);// 開啟 camera.setParameters(parameters); button.setText("關閉閃光燈"); hasClosed = false; } else { parameters.setFlashMode(Parameters.FLASH_MODE_OFF);// 關閉 camera.setParameters(parameters); button.setText("開啟閃光燈"); hasClosed = true; camera.release(); } } }
布局文件很簡單,就一個button,點擊的時候會調用toggleLight()方法.
要加入以下權限:
<uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" />