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" />java
<uses-permission android:name="android.permission.FLASHLIGHT" />android
<uses-permission android:name="android.permission.WAKE_LOCK"/>app
<uses-permission android:name="android.permission.CAMERA"/>ide
<uses-permission android:name="android.hardware.camera"/>this