簡體   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