//图片用Draw-9-Path处理了下。package com.myflashlight;import android.hardware.Camera;import android.os.Bundle;import android.app.Activity;import android.view.KeyEvent;import android.view.Menu;import android.view.View;import android.view.Window;import android.view.WindowManager;import android.widget.Button;import android.widget.Toast;public class MyFlashlight extends Activity {Button on_off;    Camera camera;    public static final long longTime=2000,shortTime=1000,pauseTime=200;    boolean isOn=false;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);noTitle();setContentView(R.layout.my_flashlight);initView();addListener();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.my_flashlight, menu);return true;}//销毁进程@Overrideprotected void onDestroy() {System.exit(0);// TODO Auto-generated method stubsuper.onDestroy();}//返回键退出@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stub    while (keyCode==event.KEYCODE_BACK) {    onDestroy();}return super.onKeyDown(keyCode, event);}//去标题    public void noTitle(){requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);    }    private void initView(){on_off=(Button) findViewById(R.id.on_off);}private void addListener(){on_off.setOnClickListener(new FlashlightOnClick());}private class FlashlightOnClick implements View.OnClickListener{@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.on_off:if(!isOn){BtnStyle_Off();openFlashlight();}else if(isOn){BtnStyle_On();closeFlashlight();}break;default:break;}}}//开关开启样式private void BtnStyle_On(){on_off.setText(R.string.turnOn);on_off.setTextColor(getResources().getColor(R.color.darkblue));on_off.setBackgroundResource(R.drawable.open);}//开关关闭样式private void BtnStyle_Off(){on_off.setText(R.string.turnOff);on_off.setTextColor(getResources().getColor(R.color.darkred));on_off.setBackgroundResource(R.drawable.close);}//开启手电筒private void openFlashlight(){camera=Camera.open();Camera.Parameters parameters=camera.getParameters();parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);camera.setParameters(parameters);camera.startPreview();isOn=true;Toast.makeText(MyFlashlight.this,"已开启", 2000).show();}//关闭手电筒private void closeFlashlight(){Camera.Parameters parameters=camera.getParameters();parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);camera.setParameters(parameters);camera.stopPreview();camera.release();isOn=false;Toast.makeText(MyFlashlight.this,"已关闭", 2000).show();}}

 

更多相关文章

  1. Android自定义Toast 解决关闭通知 Toast无法弹出
  2. android 线程超时的例子
  3. android软键盘问题
  4. Android(Java):滑动删除实现——重写onTouch
  5. android:Handler开启线程定时循环
  6. Android(安卓)打开闪光灯(手电筒)
  7. Android动态关闭mainfest中的receiver
  8. Android(安卓)P 限制级API调用弹窗关闭
  9. Android手电筒小程序实现代码

随机推荐

  1. 移动布局原理、实战手机页面的基本整体架
  2. 移动布局原理、实战手机页面的基本整体架
  3. Mac M1安装mnmp(Mac+Nginx+MySQL+PHP)开
  4. PHP引擎php.ini参数优化深入讲解
  5. python3编码问题汇总
  6. java使用Base64编码实例
  7. PHP如何限制定时任务的进程数量
  8. React类组件和函数组件
  9. 简单实例:图文列表、表格(课程表)
  10. Java中的base64编码器