欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

Android 传感器--光照传感器详解及使用

时间:2021-05-05 15:37:00|栏目:Android代码|点击:

Android 设备中有许多传感器,其中有一个传感器控制着你屏幕亮度的变化。当你在很暗的地方使用手机,你设备的屏幕会自动调暗,从而保护你眼睛。

起着这样作用,Android是通过一款光照传感器来获取你周围环境亮度的变化。光照传感器一般在手机的顶部的位置。

要在程序中使用这款传感器

(1)首先要获取SensorManager传感器管理器服务:SensorManager sensorManager=(SensorManager)getSystemService(Context.SENSOR_SERVICE);

(2)获取光照传感器:Sensor liaghtSensor=sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT)//Sensor.TYPE_LIGHT 代表光照传感器

(3)注册和监视光照传感器:

sensorManager.registerListener(new SensorEventListener() {
 @Override
 public void onSensorChanged(SensorEvent event) {
//监视传感器的改变

//accuracy 传感器的精度 通过event.accuracy获取

//values 传感器传回的数值 如event.values[0] 获取光线强度lux

//timestamp 传感器事件发生的时间(以纳秒为单位)
}

 @Override
 public void onAccuracyChanged(Sensor sensor, int accuracy) {
//对传感器精度的改变做出反应
}
 }, sensor, SensorManager.SENSOR_DELAY_NORMAL);

一个简单的获取光照传感器光线强度lux的代码:

public class MainActivity extends Activity {

  private TextView value_tv;

  private SensorManager sensorMamager;

  private Sensor sensor;

  @Override

  protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    value_tv=(TextView) findViewById(R.id.value_tv);

    //获取SensorManager对象

    sensorMamager=(SensorManager) getSystemService(SENSOR_SERVICE);

    //获取Sensor对象

    sensor=sensorMamager.getDefaultSensor(Sensor.TYPE_LIGHT);

    sensorMamager.registerListener(new SensorEventListener() {

       

      @Override

      public void onSensorChanged(SensorEvent event) {

         //获取精度 

        float acc = event.accuracy; 

        //获取光线强度 

        float lux = event.values[0];  

        value_tv.setText("acc:"+acc+";"+"lux:"+lux);

      }

       

      @Override

      public void onAccuracyChanged(Sensor sensor, int accuracy) {

        // TODO 自动生成的方法存根

      }

    }, sensor, SensorManager.SENSOR_DELAY_NORMAL);

  }

} 

对于一些程序,在改变当前程序屏幕亮度的时候,可以考虑加入光照传感器的判断。

因为大部分这些程序,会出现这样的一个问题,当(在非自动亮度调节模式)设定屏幕亮度为一个值时,再设置为自动亮度调节模式的时候是无效的。

 以上就是对Android 传感器 光照传感的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

上一篇:Android初学者必须知道的10个技术

栏    目:Android代码

下一篇:Android Handler leak分析及解决办法详解

本文标题:Android 传感器--光照传感器详解及使用

本文地址:http://www.codeinn.net/misctech/115248.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有