Android 距离传感器修复 修复打电话黑屏 无法快速唤醒屏幕的BUG

接触Android Xposed开发也很久了,学了这么久的Java,也该弄点东西出来了,

 

 public ProximitySensor(Context paramContext, AudioModeProvider paramAudioModeProvider, AccelerometerListener paramAccelerometerListener)
  {
    this.mPowerManager = ((PowerManager)paramContext.getSystemService("power"));
    if (this.mPowerManager.isWakeLockLevelSupported(32)) {}
    for (this.mProximityWakeLock = this.mPowerManager.newWakeLock(32, TAG);; this.mProximityWakeLock = null)
    {
      this.mAccelerometerListener = paramAccelerometerListener;
      this.mAccelerometerListener.setListener(this);
      this.mDisplayListener = new ProximityDisplayListener((DisplayManager)paramContext.getSystemService("display"));
      this.mDisplayListener.register();
      this.mAudioModeProvider = paramAudioModeProvider;
      this.mAudioModeProvider.addListener(this);
      return;
      Log.w(TAG, "Device does not support proximity wake lock.");
    }
  }
  
  private void turnOffProximitySensor(boolean paramBoolean)
  {
    if (this.mProximityWakeLock != null)
    {
      if (!this.mProximityWakeLock.isHeld()) {
        break label43;
      }
      Log.i(this, "Releasing proximity wake lock");
      if (!paramBoolean) {
        break label38;
      }
    }
    label38:
    for (int i = 0;; i = 1)
    {
      this.mProximityWakeLock.release(i);
      return;
    }
    label43:
    Log.i(this, "Proximity wake lock already released");
  }
  
  private void turnOnProximitySensor()
  {
    if (this.mProximityWakeLock != null)
    {
      if (!this.mProximityWakeLock.isHeld())
      {
        Log.i(this, "Acquiring proximity wake lock");
        this.mProximityWakeLock.acquire();
      }
    }
    else {

这个是Android电话的APP,注册了proximity listener

在turnOnProximitySensor给用Xposed替换掉之后,一些传感器坏了的手机,又没办法禁用传感器就可以用我这个APP了

 

链接:http://pan.baidu.com/s/1jHOren0 密码:dnas

posted on 2016-11-01 16:42  winters86  阅读(485)  评论(0编辑  收藏  举报