两种Sensor 的打开用例

 

P Sensor 跟 L sensor 都可以用的类

 
 private SensorManager mMgr;

class AlsListener implements SensorEventListener {

  @Override
  public void onAccuracyChanged(Sensor sensor, int accuracy) {
  }

  @Override
  public void onSensorChanged(SensorEvent event) {
   
   float[] values = event.values;
   
   if (mAlsEnabled && event.sensor.getType() == Sensor.TYPE_LIGHT) {
    
    tv_als.setText("Lux:    " + Float.toString(values[0]));
    
   }
  }

 }

 class PsListener implements SensorEventListener {
  @Override
  public void onAccuracyChanged(Sensor sensor, int accuracy) {
  }

  @Override
  public void onSensorChanged(SensorEvent event) {
   float[] values = event.values;
   if (mPsEnabled && event.sensor.getType() == Sensor.TYPE_PROXIMITY) {

    tv_ps.setText(String.format("Distances:    %.1f", values[0]));
   }
  }
 }

 

 

protected void SetPSensor() {
  
  System.out.println("##########SetPSensor");
  
  List sensors = mMgr.getSensorList(Sensor.TYPE_PROXIMITY);
  
  Sensor someSensor = mMgr.getDefaultSensor(Sensor.TYPE_PROXIMITY);
  
  if (sensors.size() > 0) {
   
   mMgr.registerListener(mPsListener, (Sensor) sensors.get(0),
     
     SensorManager.SENSOR_DELAY_NORMAL);
   
  }

  PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
  wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP
    | PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "TAG");
  wl.acquire();
 }

 protected void SetLSensor() {
  List sensors = mMgr.getSensorList(Sensor.TYPE_LIGHT);
  Sensor someSensor = mMgr.getDefaultSensor(Sensor.TYPE_LIGHT);
  if (sensors.size() > 0) {

   mMgr.registerListener(mAlsListener, (Sensor) sensors.get(0),
     SensorManager.SENSOR_DELAY_NORMAL);
  }
 }

 protected void UnPSensor() {
  mMgr.unregisterListener(mPsListener);
 }

 protected void UnLSensor() {
  mMgr.unregisterListener(mAlsListener);
 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值