您的位置:首页 > 移动开发 > Android开发

Android 开启闪光灯做手电筒 源码

2014-01-09 01:23 531 查看
[html] view
plaincopyprint?

权限:

<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" />

   

布局

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:gravity="center"

android:orientation="vertical" >

<ToggleButton

android:id="@+id/toggleButton1"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:checked="true"

android:text="ToggleButton" />

</LinearLayout>

源码

package cn.lee.handlight;

import android.app.Activity;

import android.hardware.Camera;

import android.hardware.Camera.Parameters;

import android.os.Bundle;

import android.os.Process;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.WindowManager;

import android.widget.ToggleButton;

public class HandLightActivity extends Activity implements OnClickListener {

private ToggleButton toggleButton;

private Camera camera = Camera.open();

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

toggleButton = (ToggleButton) this.findViewById(R.id.toggleButton1);

toggleButton.setOnClickListener(this);

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

//保持屏幕

}

@Override

public void onClick(View v) {

ToggleButton tb = (ToggleButton) v;

Camera.Parameters param = camera.getParameters();

if(!tb.isChecked()){

param.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);

toggleButton.setBackgroundColor(0x30ffffff);

}else{

param.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);

toggleButton.setBackgroundColor(0xffffffff);

}

camera.setParameters(param);

}

@Override

protected void onPause() {

// camera.release();

// Process.killProcess(Process.myPid());

super.onPause();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: