繁体   English   中英

如何更改Android接近传感器的灵敏度?

[英]How to change Android proximity sensor sensitivity?

我编写了一个基于接近传感器的应用程序,但我希望能够为用户提供更改传感器灵敏度的功能。 可能吗? 如果是,该怎么办?

只需“实现SensorEventListener”并遵循以下代码:

public void onCallStateChanged(int state, String incomingNumber) {
        switch (state) {
        case TelephonyManager.CALL_STATE_IDLE:
            System.out.println("My Call IDLE");
            CallState = false;
            StartAudioSpeacker();
            System.out.println("Is phone speaker : "+ audioManager.isSpeakerphoneOn());
            if (audioManager.isSpeakerphoneOn()) {
                audioManager.setSpeakerphoneOn(false);
                mSensorManager.unregisterListener(this);
            }
            break;
        case TelephonyManager.CALL_STATE_OFFHOOK:
            System.out.println("My Call OFFHOOK");
            CallState = true;
            StartAudioSpeacker();
            System.out.println("Is phone speaker : "+ audioManager.isSpeakerphoneOn());
            break;
        case TelephonyManager.CALL_STATE_RINGING:
            System.out.println("My Call RINGING");
            break;
        }
    }

Android中定义的传感器API将接近程度定义为布尔值,即NEAR(1)或FAR(0)。 我认为“灵敏度”是指阈值距离,低于该阈值距离,接近传感器报告接近为NEAR。

Android上光/接近传感器的更多详细信息。

Android(最高v4.1“ jelly-bean”)不会在其传感器API中公开接近距离参数

您有以下选择:

  • 修改传感器HAL ,向接近传感器添加可配置的阈值。

  • 直接与接近传感器驱动程序进行交互 (通常是sys-fs条目)。
    取决于所使用的光线/接近传感器硬件,
    在少数设备上而不是其他设备上,这可能是可能的。

同样肯定会要求将Android设备植根于此类“系统级”修改。

我认为这是不可能的。 接近传感器由操作系统管理。 为了保护用户,没有超级用户访问权限的应用程序无法直接更改os文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM