Sensor传感器
2015-11-30 15:28
323 查看
光线传感器
加速度传感器
package com.example.testsometing; import android.app.Activity; import android.content.Context; 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 { TextView tv_response; SensorManager manager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv_response = (TextView) this.findViewById(R.id.response); manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); Sensor sensor = manager.getDefaultSensor(Sensor.TYPE_LIGHT); if(sensor != null){ manager.registerListener(listener, sensor,SensorManager.SENSOR_DELAY_NORMAL); } else{ tv_response.setText("设备无光线传感器"); } } SensorEventListener listener = new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { //values数组的第一个数代表光照强度 float value = event.values[0]; tv_response.setText(value+"lux"); } @Override public void onAccuracyChanged(Sensor arg0, int arg1) { } }; @Override protected void onDestroy() { super.onDestroy(); if(manager != null){ manager.unregisterListener(listener); } } }
加速度传感器
package com.example.testsometing; import android.app.Activity; import android.content.Context; 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 { TextView tv_response; SensorManager manager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv_response = (TextView) this.findViewById(R.id.response); manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); Sensor sensor = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); if(sensor != null){ manager.registerListener(listener, sensor,SensorManager.SENSOR_DELAY_NORMAL); } else{ tv_response.setText("设备无加速度传感器"); } } SensorEventListener listener = new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { float value_x = event.values[0];//x轴 float value_y = event.values[1];//y轴 float value_z = event.values[2];//z轴 tv_response.setText(value_x+":"+value_y+":"+value_z); //模仿摇一摇 /* float value_x = Math.abs(event.values[0]);//x轴 float value_y = Math.abs(event.values[1]);//y轴 float value_z = Math.abs(event.values[2]);//z轴 if(value_x > 15 || value_y > 15 || value_z > 15){ Toast.makeText(MainActivity.this, "摇一摇啊~摇一摇~", Toast.LENGTH_LONG).show(); } */ } @Override public void onAccuracyChanged(Sensor arg0, int arg1) { } }; @Override protected void onDestroy() { super.onDestroy(); if(manager != null){ manager.unregisterListener(listener); } } }
相关文章推荐
- H5之contenteditable
- 查找域控的几个常用方法
- Python: Neural Networks
- linux下用core和gdb查询出现"段错误"的地方
- JS input文本框禁用右键和复制粘贴功能的代码
- freemarker 入门笔记
- 如何选择前端框架:ANGULAR VS EMBER VS REACT
- GEF 框架中的设计模式
- 通过cxf发布的webservice接口中获取来源地址的IP
- HTML5+CSS3+JS 选项卡切换
- java设计模式之——代理模式
- Bootstrap 按钮(Button)插件加载状态
- Java的正则表达式
- 杭电计算机学院大学生程序设计竞赛(2015’11)
- jfreechart图表的数据刷新
- 谷哥渗透的关键词
- web前端开发工程师面试技巧自我总结
- android 控件ImageView的常用属性说明
- 循序渐进玩坦克
- android canvas save和restore