android传感器灵敏度,Android-Sensor重力感应器灵敏度问题
发布日期:2021-06-27 04:24:56 浏览次数:1 分类:技术文章

本文共 1904 字,大约阅读时间需要 6 分钟。

项目中的使用经验:

Sensor重力感应器的灵敏度调整主要是跟下面两个东西有关

(1)float[] values = SensorEvent.values的三个值的检测,SensorEvent.values 值的单位是:米/秒^2(加速度)

(2)Sensor的registerListener()中的SensorManager.SENSOR_DELAY_FASTEST参数的设置

直接上代码了(这是项目中的感应器类的代码):代码中有参数设置的说明,

import android.content.Context;

import android.hardware.Sensor;

import android.hardware.SensorEvent;

import android.hardware.SensorEventListener;

import android.hardware.SensorManager;

public class HpSensor {

private IShake mIShake;

private Sensor mSensor;

private SensorManager mSensorManage;

private SensorEventListener mSensorEventListener;

private boolean SensorRegistOK;

public HpSensor(Context aContext, IShake aIShake){

mIShake = aIShake;

mSensorManage = (android.hardware.SensorManager)aContext.getSystemService("sensor");

mSensor = mSensorManage.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

mSensorEventListener = new android.hardware.SensorEventListener(){

@Override

public void onSensorChanged(SensorEvent event) {

int sensorType = event.sensor.getType();

float[] values = event.values;

if(SensorRegistOK && (sensorType == Sensor.TYPE_ACCELEROMET ER) && (values.length >= 3)){

//values[0]表示三维中的x轴,values[1]表示y轴,values[2]表示z轴,下面被注释掉的代码灵敏度在某些设备中不高,这里将校验值变小,15改为12(也可以更小),并去掉z轴的校验,即z轴方向的移动不做逻辑处理,只响应水平的移动

// if((Math.abs(values[0])>15||Math.abs(values[1])>15| |Math.abs(values[2])>15)){

if((Math.abs(values[0])>12||Math.abs(values[1])>12)){

mIShake.doSomething();

}

}

}

@Override

public void onAccuracyChanged(Sensor sensor, int accuracy) {

}

};

}

public void register(){

//这里可以直接设置第三个参数的值,设置的越大,则感应的频率越高,灵敏度也越高,实际测试中频率太高会导致系统版本较低的设备感应器不能正常使用,如2.2的设备不能大于3,否则失效,版本2.3及已上能适应更大的频率

//SensorRegistOK = mSensorManage.registerListener(mSensorEventListener, mSensor, 3);

SensorRegistOK = mSensorManage.registerListener(mSensorEventListener, mSensor,SensorManager.SENSOR_DELAY_UI);

}

public void unregister(){

mSensorManage.unregisterListener(mSensorEventListener, mSensor);

}

}

转载地址:https://blog.csdn.net/weixin_42166105/article/details/117506134 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:windows系统可以用android,如何在电脑上使用Android系统?
下一篇:android 2g网络 http请求代理,Android网络通信之Http协议

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年03月13日 17时01分47秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

C语言极坐标转直角坐标,C语言实现直角坐标转换为极坐标的方法 2019-04-21
16F877A和24C02通信汇编语言,PIC16f877A读写24c02程序 2019-04-21
用c语言编写小于n的所有素数,关于求N以内素数的一点小问题(N小于一亿) 2019-04-21
华为100万部鸿蒙,2019年Q4发布 华为100万部鸿蒙OS手机已开测 2019-04-21
android+大富翁+局域网,【图片】大富翁6局域网(LAN)多人联机教程(求精)_大富翁吧_百度贴吧... 2019-04-21
rn webview加载本地静态html,React Native - Webview 加载本地文件 2019-04-21
dax powerbi 生成表函数_Power BI |DAX函数のCALCULATETABLE、CALENDAR函数以及相关表生成函数... 2019-04-21
编程之类的文案_如何锻炼写文案的能力? 2019-04-21
vscode 不能使用中文输入法_vscode中vim插件设置 2019-04-21
当集合a为空集时a的取值范围_1.1.2 集合间的基本关系 2019-04-21
vue 可合并表格组件_Vue实战046:详解Mixins混入使用和注意事项 2019-04-21
python包怎么做双重差分did分析_多变量相关性分析(一个因变量与多个自变量) 2019-04-21
fi sap 凭证冲销 稅_SAP中的成本要素 2019-04-21
mysql幻读是什么意思_MySQL中的幻读,你真的理解吗? 2019-04-21
mysql执行计划中性能最差的是_MySQL性能优化(七):MySQL执行计划,真的很重要,来一起学习吧... 2019-04-21
易语言执行mysql命令_易语言通过“打开”命令操作数据库 2019-04-21
mysql slave 1062_mysql主从同步slave错误1062 2019-04-21
mysql构造器_MySQL行构造器表达式优化(Row Constructor Expression) 2019-04-21
2008日志清理 server sql_SQL Server 2008 清除日志 2019-04-21
mac mysql root 权限_Mac平台重新设置MySQL的root密码 2019-04-21