[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相关推荐

  1. java获取传感器重量数据,通过距离感应器获取实际距离[FAQ04538][Sensor]java层获得P_sensor距离传感器当前真实值,不止0,1...

    如何使得上层java可以获取到距离传感器当前真实值,不止0,1 [PLATFORM] MT6575 MT6577 MT6589 [SOLUTION] proximity sensor上报的值是做过处理 ...

  2. 距离感应器实现锁频教程

    首先说一下android平台下的11种感应器:            1. ACCELEROMETER 加速,描述加速度的.            2.GRAVITY 重力,这个在大家都知道.     ...

  3. android距离感应器控制黑屏,白屏

    最近在做一个网络通话的apk,功能和手机打sim卡电话一样.虽然只做java部分,但也遇到很多问题,其中一个就是模拟通话时的状态,要控制屏幕锁屏.我知道是通过手机上的距离感应器来实现,但也搞了好久,今 ...

  4. android距离感应器控制屏幕灭屏白屏

    最近在做一个网络通话的apk,功能和手机打sim卡电话一样.虽然只做java部分,但也遇到很多问题,其中一个就是模拟通话时的状态,要控制屏幕锁屏.我知道是通过手机上的距离感应器来实现,但也搞了好久,今 ...

  5. PowerManager屏幕休眠断网与距离感应器P-Sensor

    PowerManager.java . 1.  应用程序获取PowerManager服务, 我们可以这样书写: PowerManager pm = (PowerManager) getSystemSe ...

  6. Proximity模块管理设备距离传感器,可获取当前设备的接近距离信息,通过plus.proximity可获取设备距离传感管理对象

    方法: getCurrentProximity: 获取当前设备的接近距离信息 watchProximity: 监听设备接近距离的变化 clearWatch: 关闭监听设备接近距离变化 回调方法: Pr ...

  7. 距离感应器下的休眠唤醒机制实现

    前言 从事Android framework开发已经两年了,今天起决定把工作上遇到的问题.做过的需求都用博客的形式记录一下,特地新开一个系列---Android framework开发工作记录,有需要 ...

  8. android Phone 距离感应器锁的实现

    android手机在正常打电话的过程中,靠近面部会灭屏,这个主要是PhoneApp中的mProximityWakeLock的作用.这个锁是在PhoneApp中被初始化的. if ((pm.getSup ...

  9. Android距离感应器P-Sensor浅析

    (一)  前言 P-Sensor,距离感应器,可以感应手机和人体距离.具体使用用途是在通话过程中打开P-Sensor,那么当手机屏幕贴近用户脸部时,就会自动感应出手机和人体距离是多少.当小于某一个值时 ...

最新文章

  1. echarts如何修改散点大小
  2. c# 如何找到项目中图片的相对路径
  3. Spring boot修改员工
  4. ABAP动态生成经典应用之Table数据Upload 程序
  5. Python 网络爬虫笔记11 -- Scrapy 实战
  6. WaitForSingleObject
  7. 专业的PDF组件Spire.PDF for .NET V3.9.124发布|支持图标布局
  8. 信息学奥赛一本通 1392:繁忙的都市(city) | 洛谷 P2330 [SCOI2005]繁忙的都市
  9. javascript 库_您应该在2020年尝试的10个很棒JavaScript库
  10. 自动化安装DHCP配置脚本
  11. ce修改服务器的数据库,数据库服务器的调优步骤
  12. SCSI硬盘设备到/dev/sd设备的映射关系
  13. H5--drag拖拽事件
  14. (BFM2009只是公开了数据模型,与99年开山基本一样)BM2009文献翻译
  15. 同样是大逃杀类影片,《鱿鱼游戏》凭什么能火遍全球?
  16. edge浏览器怎么关闭广告的方法教程
  17. wex5 实战 常用代码模型集合
  18. 《利用python进行数据分析》第二版 第14章-数据分析示例 学习笔记1
  19. vue的组件通信,父子/子孙组件传参和方法调用
  20. 暴雨,她还会再回来的,广东已开通本月降雨套餐

热门文章

  1. 电脑常用笔记及软件个人存档
  2. eos探索中踩过的雷
  3. 各国电源插头标准和电压标准
  4. Verilog设计流程:综合(一)
  5. 小楷的由来,小楷适合写小字
  6. 怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度
  7. 2061 【例1.2】梯形面积
  8. php 3d animation,CSS_纯CSS实现菜单、导航栏的3D翻转动画效果,我曾经向大家展示过闪光的logo - phpStudy...
  9. ixigua解析_蓝叶分享西瓜视频地址解析php代码
  10. Ceph万字总结|如何改善存储性能以及提升存储稳定性