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

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

2012-07-20 11:07 513 查看
权限:

<uses-permissionandroid:name="android.permission.FLASHLIGHT" />

<uses-permissionandroid:name="android.permission.WAKE_LOCK" />

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

<uses-featureandroid:name="android.hardware.camera" />

布局

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

<LinearLayoutxmlns: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 Activityimplements OnClickListener {
privateToggleButton toggleButton;

privateCamera camera = Camera.open();
/**Called when the activity is first created. */
@Override
publicvoid 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
publicvoid onClick(View v) {
ToggleButtontb = (ToggleButton) v;
Camera.Parametersparam = 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
protectedvoid onPause() {
// camera.release();
// Process.killProcess(Process.myPid());
super.onPause();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: