打开
camera = Camera.open();
Parameters p = camera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(p);
camera.startPreview();


关闭
camera = Camera.open();
Parameters p = camera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(p);

camera.stopPreview();


AndroidManifest.xml
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />


测试代码
main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<Button
android:id="@+id/buttonFlashlight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:text="Torch" />

</RelativeLayout>


AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.cjp.android"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="10" />

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />

<application
android:debuggable="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".FlashLightActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>


FlashLightActivity.java


package com.cjp.android;

import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class FlashLightActivity extends Activity {

//flag to detect flash is on or off
private boolean isLighOn = false;

private Camera camera;

private Button button;

@Override
protected void onStop() {
super.onStop();

if (camera != null) {
camera.release();
}
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

button = (Button) findViewById(R.id.buttonFlashlight);

Context context = this;
PackageManager pm = context.getPackageManager();

// if device support camera?
if (!pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
Log.e("err", "Device has no camera!");
return;
}

camera = Camera.open();
final Parameters p = camera.getParameters();

button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

if (isLighOn) {

Log.i("info", "torch is turn off!");

p.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(p);
camera.stopPreview();
isLighOn = false;

} else {

Log.i("info", "torch is turn on!");

p.setFlashMode(Parameters.FLASH_MODE_TORCH);

camera.setParameters(p);
camera.startPreview();
isLighOn = true;

}

}
});

}
}

更多相关文章

  1. Android实战项目:第一行代码CoolWeather
  2. android apk 升级代码
  3. Android 相机2之常用工具代码(预览方向、预览尺寸、全屏显示、分
  4. [置顶] Android防火墙+流量统计代码
  5. Android应用程序获取ROOT权限代码
  6. android 个人铃声设置代码
  7. android典型代码系列(九)------电话拦截
  8. Android里用代码设置View的相关属性

随机推荐

  1. Android横竖屏总结
  2. onEditorAction不执行
  3. 安卓模拟器去掉头部标题
  4. Android(安卓)Theme详细
  5. Android抽屉(SlidingDrawer --类似androi
  6. android:configChanges android:screenOr
  7. 安卓基本常用控件: View
  8. android 3G pppd 调试记录
  9. android ellipsize 属性详解
  10. Android(安卓)常用工具