Android 打开闪光灯(手电筒)
16lz
2021-01-23
package com.example.openBackLight;import android.app.Activity;import android.hardware.Camera;import android.os.Bundle;import android.view.View;import android.hardware.Camera.Parameters;import android.widget.Button;public class MyActivity extends Activity { private Button button; private Camera camera; private Parameters parameters; public boolean hasClosed = true; // 定义开关状态,状态为false,打开状态,状态为true,关闭状态 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button) findViewById(R.id.button); } public void toggleLight(View view) { if (hasClosed) { camera = Camera.open(); parameters = camera.getParameters(); parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);// 开启 camera.setParameters(parameters); button.setText("关闭闪光灯"); hasClosed = false; } else { parameters.setFlashMode(Parameters.FLASH_MODE_OFF);// 关闭 camera.setParameters(parameters); button.setText("开启闪光灯"); hasClosed = true; camera.release(); } } }
布局文件很简单,就一个button,点击的时候会调用toggleLight()方法.
要加入以下权限:
<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" />
更多相关文章
- android WIFi 连接状态之DetailedState
- android 电池状态获取
- Android 监控网络状态
- 【notification】Android 中创建状态栏通知
- android网络状态检查
- Android 5.1 SystemUI-状态栏
- android 沉浸式状态栏的三种方法
- Android广播接实现电话的监听(电话的状态,拦截)