package com.example.shangguangdeng;import java.lang.reflect.Method;import android.hardware.Camera;import android.os.Bundle;import android.os.IBinder;import android.os.IHardwareService;import android.app.Activity;import android.content.pm.FeatureInfo;import android.content.pm.PackageManager;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener { private Button button; private boolean isOpen = false; private Camera m_Camera; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.test_button); button.setOnClickListener(this); } @Override public void onClick(View v) { if (isOpen) { PackageManager pm = this.getPackageManager(); FeatureInfo[] features = pm.getSystemAvailableFeatures(); for (FeatureInfo f : features) { if (PackageManager.FEATURE_CAMERA_FLASH.equals(f.name)) // 判断设备是否支持闪光灯 { if (null == m_Camera) { m_Camera = Camera.open(); } Camera.Parameters parameters = m_Camera.getParameters(); parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); m_Camera.setParameters(parameters); m_Camera.startPreview(); // toggleButton.setBackgroundColor(0x30ffffff); } } isOpen=false; } else { if (m_Camera != null) { m_Camera.stopPreview(); m_Camera.release(); m_Camera = null; } isOpen=true; } }}
<uses-permission android:name="android.permission.HARDWARE_TEST" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.hardware.camera"/>