Android监控传感器参考代码
2017-03-10 21:26
239 查看
安卓获取传感器步骤:
1.通过
2.通过管理者的
3.新建一个
4.通过管理者的
5.通过管理者的
具体代码如下:
光感
重力加速度
1.通过
getSystemServie(Context.SENSOR_SERVICE)获取到传感器的管理者
SensorManager
2.通过管理者的
getDefaultSensor(Sensor.传感器名称)获取到不同的传感器对象
Sersor
3.新建一个
SensorEventListener监听器重写方法,写入需要回调的代码
4.通过管理者的
registerListener(lisener,sensormanager,刷新频率)去注册一个监听器
5.通过管理者的
unregisterlistenr(lisener)去注销监听器
具体代码如下:
光感
public class MainActivity extends AppCompatActivity { //对传感器进行监听 private SensorEventListener listener = new SensorEventListener() { //传感器精度发生变化的时候 @Override public void onSensorChanged(SensorEvent event) { float value = event.values[0];//提取数据 tv.setText("当前的灯光:" + value); } //传感器数值发生改变的时候 @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } };; private TextView tv; //创建SensorManager的实例 private SensorManager sensorManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); //通过管理器获取指定的传感器类型,当前获取的是灯光传感器 Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); //通过管理者注册,让系统知道咱们需要去监控传感器 sensorManager.registerListener(listener,sensor,SensorManager.SENSOR_DELAY_NORMAL); //获取控件 tv = (TextView) findViewById(R.id.light_level); } @Override protected void onDestroy() { super.onDestroy(); //活动结束 注销监听 sensorManager.unregisterListener(listener); } }
重力加速度
public class JiasuduActivity extends AppCompatActivity { private TextView tv; private SensorManager sensorManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) findViewById(R.id.light_level); sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); sensorManager.registerListener(sensorEventListener,sensor,SensorManager.SENSOR_DELAY_NORMAL); } private SensorEventListener sensorEventListener = new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { //event里保存的是手机x,y,z的坐标,具体可以去网上看看图片 int x = (int) Math.abs(event.values[0]); int y = (int) Math.abs(event.values[1]); int z = (int) Math.abs(event.values[2]); if(x > 15 || y>15 || z>15) { Toast.makeText(JiasuduActivity.this, "改变:" + x + "," + y + "," + z, Toast.LENGTH_SHORT).show(); }else{ Log.d("test","x:" + x + "y:" + y +"z:"+z); } } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } }; @Override protected void onDestroy() { super.onDestroy(); sensorManager.unregisterListener(sensorEventListener); } }
相关文章推荐
- Android 代码监控apk安装,卸载,替换
- Android 代码监控apk安装,卸载,替换
- Android代码规范参考指南
- PHP以及js识别android/ios系统代码参考
- (六)Android分享:代码混淆那些事(转载,原文作者写的比较细致,值得收藏一下,以供以后开发参考)
- android源码中常用于参考的代码
- Android初级教程反射+AIDL+内容观察者监控黑名单号码代码模板
- android stuio修改代码参考线和智能换行
- android 开发之蜂鸣提示音和震动提示的实现原理与参考代码
- android隐藏虚拟键盘的代码参考
- android实现图片拖拽效果(参考了一下别人的代码)
- Android代码如何监控apk安装_卸载_…
- 深入探讨 Android 传感器随处监控您的环境
- Android代码规范参考指南
- android开发 代码规范参考
- Android传感器的环境监控
- android开发之蜂鸣提示音和震动提示的实现原理与参考代码
- android代码参考
- Android平台多国语的语言以及国家的代码参考
- Android初级教程反射+AIDL+内容观察者监控黑名单号码代码模板