1

近接センサーに基づいてアプリをコーディングしましたが、ユーザーがセンサーの感度を変更できるようにしたいと考えています。出来ますか?はいの場合、それを行う方法は?

4

3 に答える 3

1

「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;
        }
    }
于 2012-05-22T09:09:57.370 に答える
0

Androidで定義されたセンサーAPIは、近接度をブール値、つまりNEAR(1)またはFAR(0)と定義します。「感度」とは、近接センサーが近接をNEARとして報告するしきい値距離を意味すると思います。

Androidの光/近接センサーの詳細。

Android(v4.1「ジェリービーンズ」まで)は、センサーAPIの一部として近接距離パラメーターを公開しません

次のオプションがあります。

  • センサー-HALを変更して、近接センサーに構成可能なしきい値を追加します。

  • 近接センサードライバーと直接対話します(通常はsys-fsエントリ)。
    使用している光/近接センサーハードウェアによっては、
    これは一部のデバイスでは可能であり、他のデバイスでは不可能な場合があります。

また、そのような「システムレベル」の変更のためにAndroidデバイスをルート化する必要があります。

于 2012-07-27T07:35:28.010 に答える
0

私はこれが可能だとは思わない。近接センサーは、オペレーティング システムによって管理されます。ユーザーを保護するために、アプリは root アクセスなしで os ファイルを直接変更することはできません。

于 2012-02-22T21:39:02.890 に答える