获取Android(安卓)光感Sensor的值
16lz
2021-01-26
在上一篇中,讲到了怎么获取手机的传感器http://blog.csdn.net/nainai007/article/details/7615364,在这里是获取传感器的值。
要获取传感器的值,首先要为应用程序注册传感器时间,然后接受传感器传来的数据。
MainActivity的代码为:
[java] view plain copy
- package com.nine.sensordemo;
- import android.app.Activity;
- import android.hardware.Sensor;
- import android.hardware.SensorEvent;
- import android.hardware.SensorEventListener;
- import android.hardware.SensorManager;
- import android.os.Bundle;
- import android.widget.TextView;
- public class MainActivity extends Activity {
- private SensorManager sm;
- private Sensor ligthSensor;
- private StringBuffer sb;
- private TextView tvValue;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- sb = new StringBuffer();
- tvValue = (TextView) findViewById(R.id.tvValue);
- //获取SensorManager对象
- sm = (SensorManager) getSystemService(SENSOR_SERVICE);
- //获取Sensor对象
- ligthSensor = sm.getDefaultSensor(Sensor.TYPE_LIGHT);
- sm.registerListener(new MySensorListener(), ligthSensor, SensorManager.SENSOR_DELAY_NORMAL);
- }
- public class MySensorListener implements SensorEventListener {
- public void onAccuracyChanged(Sensor sensor, int accuracy) {
- }
- public void onSensorChanged(SensorEvent event) {
- //获取精度
- float acc = event.accuracy;
- //获取光线强度
- float lux = event.values[0];
- sb.append("acc ----> " + acc);
- sb.append("\n");
- sb.append("lux ----> " + lux);
- sb.append("\n");
- tvValue.setText(sb.toString());
- }
- }
- }
这里我主要获取手机的光线传感器,由于外界光线的变化,从而触发传感器时间的发生,程序通过获取传感器的精度和光线强度的值,并显示出来
转自:
http://blog.csdn.net/nainai007/article/details/7616441
更多相关文章
- 如何在低版本的Android(安卓)SDK中生成缩略图——ThumbnailUtils
- android使用百度地图SDK获取定位信息示例
- Android开发:Wifi基础
- Android(安卓)获取传感器列表整理及简单实例
- 黑马程序员.Android攻城狮.JAVA基础.1.6.String类
- Android(安卓)App兼容android10.0系统需要修改那些东西,看这个就
- Android从ftp服务器获取文件
- Android(安卓)接入Facebook实现第三方登陆教程(精简版)
- http://www.cnblogs.com/