欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

Android 获取光线强弱,开启闪光灯,关闭闪光灯

发布时间:2023/12/10 Android 65 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Android 获取光线强弱,开启闪光灯,关闭闪光灯 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1、获取光线强度

 

(1)实现传感器接口  implements SensorEventListener

实例化

private SensorManager mSensroMgr;//传感器管理类 mSensroMgr = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

 

(2)监听传感器

@Override protected void onPause() {super.onPause();mSensroMgr.unregisterListener(TestClass.this);//断开监听传感器 }@Override protected void onResume() {super.onResume();mSensroMgr.registerListener(this, mSensroMgr.getDefaultSensor(Sensor.TYPE_LIGHT),SensorManager.SENSOR_DELAY_NORMAL);//开启监听传感器 }

(3)传感器接口实现方法

 

@Overridepublic void onSensorChanged(SensorEvent event) {//传感器方法1if (event.sensor.getType() == Sensor.TYPE_LIGHT) {float light_strength = event.values[0];//光线强度 // Toast.makeText(MainActivity.this,">..."+light_strength,Toast.LENGTH_SHORT).show(); // tv_light.setText(Utils.getNowDateTimeFormat() + "\n当前光线强度为" + light_strength);textView.setText("" + light_strength);if (light_strength < 50) {openFlash();} else {closeFlash();}}}@Overridepublic void onAccuracyChanged(Sensor sensor, int accuracy) {//传感器方法2//当传感器精度改变时回调该方法,一般无需处理}

 

2、1闪光灯控制方法

 

private CameraManager manager; private Camera camera; @SuppressLint("NewApi") private void openFlash() {//开启闪光灯try {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {manager = (CameraManager) this.getSystemService(Context.CAMERA_SERVICE);if (manager != null) {manager.setTorchMode("0", true);}} else {camera = Camera.open();Camera.Parameters parameters = camera.getParameters();parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);camera.setParameters(parameters);camera.startPreview();}} catch (Exception e) {e.printStackTrace();} }@SuppressLint("NewApi") private void closeFlash() {//关闭闪光灯if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {try {if (manager == null) {return;}manager.setTorchMode("0", false);} catch (Exception e) {e.printStackTrace();}} else {if (camera == null) {return;}camera.stopPreview();camera.release();} }

 

2、2闪光灯控制方法

private boolean ifopen=false; @SuppressLint("NewApi") private void openFlash() {//开启闪光灯Log.i("lgq","kaisssssssssssssssss");try {Camera.Parameters p = mCamera.getParameters();p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);//持续的亮灯mCamera.setParameters(p);ifopen=true;} catch (Exception e) {e.printStackTrace();} }@SuppressLint("NewApi") private void closeFlash() {//关闭闪光灯Log.i("lgq","ggggggggggggggsssssssssssssssss");Camera.Parameters p = mCamera.getParameters();p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);mCamera.setParameters(p);ifopen=false; }

 

Android 设置手机屏幕亮度:https://blog.csdn.net/meixi_android/article/details/88681942

创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖

总结

以上是生活随笔为你收集整理的Android 获取光线强弱,开启闪光灯,关闭闪光灯的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。