ASF(传感器)
版权声明:曾经的Blog文章合并。原创作品,谢绝转载。否则将追究法律责任。
SensorManager类:用于创建sensor service的实例。该类提供了非常多
用于訪问和枚举传感器,注冊和注销传感器监听器的方法。
并且还提供了
与传感器精度、扫描频率、校正有关的常量。
Sensor类:提供了一些用于获取传感器技术參数的方法。如版本号、类型、
生产商等。
1. TYPE_ACCELEROMETER:加速传感器(硬件传感器)
2. TYPE_AMBIENT_TEMPERATURE:温度传感器(硬件传感器)
3. TYPE_GRAVITY:重力传感器(硬件或软件传感器)
4. TYPE_GYROSCOPE:陀螺仪传感器(硬件传感器)
5. TYPE_LIGHT:光线传感器(硬件传感器)
6. TYPE_LINEAR_ACCELERATION:线性加速传感器(硬件或软件传感器)
7. TYPE_MAGNETIC_FIELD:磁场传感器(硬件传感器)
8. TYPE_ORIENTATION:方向传感器(软件传感器)。数据来自重力和磁场传感器
9. TYPE_PRESSURE:压力传感器(硬件传感器)
10.TYPE_PROXIMITY:临近传感器(硬件传感器)
11.TYPE_RELATIVE_HUMIDITY:湿度传感器(硬件传感器)
12.TYPE_ROTATION_VECTOR:旋转向量传感器(硬件或软件传感器)
SensorEvent类:系统使用该类创建传感器事件对象。该对象能够提供与
传感器事件有关的信息。传感器事件对象包含的信息有原始的传感器回传
数据、传感器类型、数据的精度以及触发事件的时间。
SensorEventListener接口:该接口包括两个回调方法,当传感器的回传
值或精度发生变化时,系统会调用这两个回调方法。
<span style="font-size:12px;">//获取传感器列表
SensorManager mSensorManager=(SensorManager) getSystemService(Context.SENSOR_SERVICE);
List<Sensor> mSensors=mSensorManager.getSensorList(Sensor.TYPE_ALL);
for (Sensor sensor : mSensors) {
mSensorTv.append(sensor.getName()+"\n");
}</span>
<span style="font-size:12px;">/**
* @author linwb
*/
public class MainActivity extends Activity implements SensorEventListener{
private TextView mSensorTv;
private SensorManager mSensorManager;
private float[] adjustArgs=new float[3]; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); mSensorTv=(TextView) findViewById(R.id.sensorTv);
mSensorManager=(SensorManager) getSystemService(Context.SENSOR_SERVICE);
} @Override
protected void onPause() {
super.onPause();
mSensorManager.unregisterListener(this);
} @Override
protected void onResume() {
super.onResume();
//第三个參数为刷新的频率
//SensorManager.SENSOR_DELAY_FASTEST 最快
//SensorManager.SENSOR_DELAY_GAME 游戏
//SensorManager.SENSOR_DELAY_NORMAL 普通
//SensorManager.SENSOR_DELAY_UI 用户界面
mSensorManager.registerListener(this,
mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_UI);
mSensorManager.registerListener(this,
mSensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY),
SensorManager.SENSOR_DELAY_UI);
} @Override
public void onSensorChanged(SensorEvent event) {
switch (event.sensor.getType()) {
case Sensor.TYPE_ACCELEROMETER:
//去除杂质 在此之前先保证重力传感器存在
// float x=adjustArgs[0] * 0.9f + event.values[0] *( 1 - 0.9f);
// float y=adjustArgs[1] * 0.9f + event.values[1] *( 1 - 0.9f);
// float z=adjustArgs[2] * 0.9f + event.values[2] *( 1 - 0.9f); String reslut=(event.values[0])+" "+(event.values[1])
+" "+(event.values[2]-9.81f);
mSensorTv.setText(reslut);
break;
case Sensor.TYPE_GRAVITY:
adjustArgs[0]=event.values[0];
adjustArgs[1]=event.values[1];
adjustArgs[2]=event.values[2];
break;
default:
break;
}
} @Override
public void onAccuracyChanged(Sensor sensor, int accuracy) { }
}</span>
版权声明:本文博主原创文章,博客,未经同意不得转载。
ASF(传感器)的更多相关文章
- 传感器(2)常用api简介及列出当前设备支持的传感器代码
Android SDK提供了Android sensor framework,可以用来访问当前Android设备内置的传感器. ASF提供了很多类和接口,可以帮助我们完成各种与传感器有关的任务. 例如 ...
- Android开发10:传感器器及地图相关应用
前言 啦啦啦~各位小伙伴们好~经过这一学期的Android知识的学习,我们学到了很多和Android开发相关的知识,这一学期的学习也要告一段落了. 一起进入我们今天的相关内容~这次我们将一起学习使用 ...
- Android传感器概述-android学习之旅(七)
传感器概述 传感器是第二代智能手机的重要标志之一.现在许多的手机和平板都内置了传感器(tv除外).android的SDK支持许多的传感器有十几种,但是手机只是支持一部分.例如方向传感器(电子罗盘)和重 ...
- 微软KinectV2深度传感器在Ubuntu上的配置和使用
最新博客地址已转到: http://blog.csdn.net/zzlyw?viewmode=contents ------------------------------------------ ...
- STM32F412应用开发笔记之四:与远红外炭氢传感器通讯
远红外炭氢传感器是在多组分气体传感器中用来检测甲烷和丙烷浓度的,采用单总线串行通讯,TTL电平.所以我们需要用到UART口来实现与远红外炭氢传感器的通讯. 远红外传感器就是这个样子的: 再来一张进气和 ...
- Android开发之重力传感器
重力传感器与方向传感器的开发步骤类似,只要理清了期中的x,y,z的值之后就可以根据他们的变化来进行编程了,首先来看一副图 假设当地的重力加速度值为g 当手机正面朝上的时候,z的值为q,反面朝上的时候, ...
- android 传感器应用
本章讲述Android开发中,传感器应用相关的知识点. 1.功能需求 做一个基于传感器的水平尺应用. 2.软件实现
- 简单的方向传感器SimpleOrientationSensor
SimpleOrientationSensor是一个简单的方向传感器.能够识别手机如下表的6种方向信息: SimpleOrientation枚举变量 方向 NotRotated 设备未旋转 Rotat ...
- SAP 传感器辅助定位
一.简述 SAP:Sensor Assist Position 传感器辅助定位.高通公司提供的技术方案,旨在提升当卫星信号较差或终端短暂丢失卫星信号时终端的定位能力.该方案可分为三个阶段,第一.二阶段 ...
随机推荐
- mahout入门指南之基于mahout的itembased算法
基于mahout的itembased算法 事实上mahout分布式上仅仅是实现了部分算法.比方推荐算法中Item-based和slopone都有hadoop实现和单机版实现,User-based没有分 ...
- 解决NGINX的WORDPRESS伪静态规则失效的问题
解决NGINX的WORDPRESS伪静态规则失效的问题 前两天搬到了EMSVPS的PR线路上,用上了最新的WDCP2.0管理面板,支持多用户管理(我们几个合租的VPS,最需要这个功能了),感觉很不错, ...
- poj 2038 Team Rankings 枚举排列
//poj 2038 //sep9 #include <iostream> #include <algorithm> using namespace std; char s[1 ...
- HDU 4028 The time of a day STL 模拟题
暴力出奇迹.. #include<stdio.h> #include<iostream> #include<algorithm> #include<vecto ...
- hdu1151 Air Raid,DAG图的最小路径覆盖
点击打开链接 有向无环图的最小路径覆盖 = 顶点数- 最大匹配 #include <queue> #include <cstdio> #include <cstring& ...
- 从头来之【图解针对虚拟机iOS开发环境搭建】 (转)
1.下载Mac OSX10.9. 点击下载 2.下载VMware Workstation 10,点击下载,网页中包含序列号.安装VM. 3.VM10-MacOS补丁.用于创建苹果虚拟机. 安装VM就不 ...
- phantomjs,selenium,pyv8,pythonwebkit,,,,,,,,,,,,,
Pyv8,PythonWebKit,Selenium,PhantomJS,Ghost.py 等等.... 快速构建实时抓取集群[searchtb] 定义:http://i.cnblogs.com/Ed ...
- hdu1255(线段树——矩形面积交)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1255 题意:求N个矩形中,求被覆盖至少俩次的面积和 分析:覆盖两次即col[rt]>=2就好.一 ...
- hdu4553(线段树)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4553 线段树功能:update:区间替换 query:询问满足条件的最左断点 分析:poj3667的加 ...
- Debian7.6安装过程中遇到的问题
一 sudo命令不能用 1 使用su切换到root用户,命令: su 2 使用名:vim /etc/sudoers加入sudoer用户,命令: vim /etc/sudoers 找到root=(ALL ...