通过距离感应器获取实际距离[FAQ04538][Sensor]java层获得P_sensor距离传感器当前真实值,不止0,1
[DESCRIPTION]
如何使得上层java可以获取到距离传感器当前真实值,不止0,1
[PLATFORM]
MT6575 MT6577 MT6589
[SOLUTION]
proximity sensor上报的值是做过处理,一般是固定上报1或是0,如果需要取得proximity sensor实时的值,依据不同的处理模式:
1、polling模式,XXX_ps_operate()函数中
case SENSOR_GET_DATA:
……
sensor_data->values[0]=XXX_get_ps_value(……);//上传判断后的值,即0或是1;
sensor_data->values[1]=obj->ps;//使用values[1]上传proximity sensor的raw data;
……
2、中断模式,在XXX_eint_work函数中:
……
sensor_data->values[0]=XXX_get_ps_value(……);//上传判断后的值,即0或是1;
sensor_data->values[1]=obj->ps;//使用values[1]上传proximity sensor的raw data;
1和2方式都还需要在hwmsen_dev.c:
在hwmsen_get_interrupt_data(int sensor,hwm_sensor_data *data)函数中,需要把proximity sensor单独提出来处理,即增加这么一段代码:
if(sensor == ID_PROXIMITY)
{
if(data->values[1] != obj_data.sensors_data[sensor].values[1])
{
mutex_lock(&obj_data.lock);
obj_data.data_updata[sensor] = 1;
obj_data.sensors_data[sensor].values[1] = data->values[1];
obj_data.sensors_data[sensor].time = nt;
obj_data.sensors_data[sensor].value_divide = data->value_divide;
mutex_unlock(&obj_data.lock);
}
}
这样,在应用层,监听onSensorChanged的时候,就可以:
用values[0]即可得到表示靠近和远离的0和1;
用values[1]即可得到sensor 的raw data。
java 层
private SensorManager sensorManager;private Sensor P_sensor;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_fullscreen);sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); P_sensor = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); }@Override protected void onResume() { super.onResume(); sensorManager.registerListener(sensorEventListener, P_sensor, SensorManager.SENSOR_DELAY_NORMAL);}@Overrideprotected void onPause() {super.onPause();sensorManager.unregisterListener(sensorEventListener);}/** * */ private SensorEventListener sensorEventListener = new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { float f_proximiny = event.values[0];float f_proximiny2 = event.values[1];String f_proximinystr=String.valueOf(f_proximiny);String f_proximinystr2=String.valueOf(f_proximiny2);String str="P-Sensor"+"\n"+"靠近或远离values[0]="+f_proximinystr+"\n"+"真实距离values[1]="+f_proximinystr2;controlsView1.setText(str);// Toast.makeText(FullscreenActivity.this , f_proximinystr, 0).show();}@Overridepublic void onAccuracyChanged(Sensor sensor, int accuracy) {// TODO Auto-generated method stub}};
通过距离感应器获取实际距离[FAQ04538][Sensor]java层获得P_sensor距离传感器当前真实值,不止0,1相关推荐
- java获取传感器重量数据,通过距离感应器获取实际距离[FAQ04538][Sensor]java层获得P_sensor距离传感器当前真实值,不止0,1...
如何使得上层java可以获取到距离传感器当前真实值,不止0,1 [PLATFORM] MT6575 MT6577 MT6589 [SOLUTION] proximity sensor上报的值是做过处理 ...
- 距离感应器实现锁频教程
首先说一下android平台下的11种感应器: 1. ACCELEROMETER 加速,描述加速度的. 2.GRAVITY 重力,这个在大家都知道. ...
- android距离感应器控制黑屏,白屏
最近在做一个网络通话的apk,功能和手机打sim卡电话一样.虽然只做java部分,但也遇到很多问题,其中一个就是模拟通话时的状态,要控制屏幕锁屏.我知道是通过手机上的距离感应器来实现,但也搞了好久,今 ...
- android距离感应器控制屏幕灭屏白屏
最近在做一个网络通话的apk,功能和手机打sim卡电话一样.虽然只做java部分,但也遇到很多问题,其中一个就是模拟通话时的状态,要控制屏幕锁屏.我知道是通过手机上的距离感应器来实现,但也搞了好久,今 ...
- PowerManager屏幕休眠断网与距离感应器P-Sensor
PowerManager.java . 1. 应用程序获取PowerManager服务, 我们可以这样书写: PowerManager pm = (PowerManager) getSystemSe ...
- Proximity模块管理设备距离传感器,可获取当前设备的接近距离信息,通过plus.proximity可获取设备距离传感管理对象
方法: getCurrentProximity: 获取当前设备的接近距离信息 watchProximity: 监听设备接近距离的变化 clearWatch: 关闭监听设备接近距离变化 回调方法: Pr ...
- 距离感应器下的休眠唤醒机制实现
前言 从事Android framework开发已经两年了,今天起决定把工作上遇到的问题.做过的需求都用博客的形式记录一下,特地新开一个系列---Android framework开发工作记录,有需要 ...
- android Phone 距离感应器锁的实现
android手机在正常打电话的过程中,靠近面部会灭屏,这个主要是PhoneApp中的mProximityWakeLock的作用.这个锁是在PhoneApp中被初始化的. if ((pm.getSup ...
- Android距离感应器P-Sensor浅析
(一) 前言 P-Sensor,距离感应器,可以感应手机和人体距离.具体使用用途是在通话过程中打开P-Sensor,那么当手机屏幕贴近用户脸部时,就会自动感应出手机和人体距离是多少.当小于某一个值时 ...
最新文章
- echarts如何修改散点大小
- c# 如何找到项目中图片的相对路径
- Spring boot修改员工
- ABAP动态生成经典应用之Table数据Upload 程序
- Python 网络爬虫笔记11 -- Scrapy 实战
- WaitForSingleObject
- 专业的PDF组件Spire.PDF for .NET V3.9.124发布|支持图标布局
- 信息学奥赛一本通 1392:繁忙的都市(city) | 洛谷 P2330 [SCOI2005]繁忙的都市
- javascript 库_您应该在2020年尝试的10个很棒JavaScript库
- 自动化安装DHCP配置脚本
- ce修改服务器的数据库,数据库服务器的调优步骤
- SCSI硬盘设备到/dev/sd设备的映射关系
- H5--drag拖拽事件
- (BFM2009只是公开了数据模型,与99年开山基本一样)BM2009文献翻译
- 同样是大逃杀类影片,《鱿鱼游戏》凭什么能火遍全球?
- edge浏览器怎么关闭广告的方法教程
- wex5 实战 常用代码模型集合
- 《利用python进行数据分析》第二版 第14章-数据分析示例 学习笔记1
- vue的组件通信,父子/子孙组件传参和方法调用
- 暴雨,她还会再回来的,广东已开通本月降雨套餐
热门文章
- 电脑常用笔记及软件个人存档
- eos探索中踩过的雷
- 各国电源插头标准和电压标准
- Verilog设计流程:综合(一)
- 小楷的由来,小楷适合写小字
- 怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度
- 2061 【例1.2】梯形面积
- php 3d animation,CSS_纯CSS实现菜单、导航栏的3D翻转动画效果,我曾经向大家展示过闪光的logo - phpStudy...
- ixigua解析_蓝叶分享西瓜视频地址解析php代码
- Ceph万字总结|如何改善存储性能以及提升存储稳定性