3

Androidで電話で話すと、光センサーが機能しています。画面の左上隅を覆うと、ディスプレイが黒くなり、何も見えなくなります。

その機能をキャンセルしたいのですが、Android センサー光センサーを使用してみましたが、機能しません。

これは私のコードです:

 senMgrLight=(SensorManager)getSystemService(Context.SENSOR_SERVICE);
    senMgrLight.registerListener(onSensorListener,
            senMgrLight.getDefaultSensor(Sensor.TYPE_LIGHT),
                SensorManager.SENSOR_DELAY_FASTEST);

ありがとう。

4

4 に答える 4

2

使用する必要があるセンサーは近接センサーです。これを試してください。これにより、センサーが非表示になっているかどうかがわかります (通話中に動作します)。

   SensorManager sm = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
        sm.registerListener(new SensorEventListener() {

            @Override
            public void onSensorChanged(SensorEvent event) {
                Log.i(TAG,"sensor: " + event.sensor.getName() + ", values: " + Arrays.toString(event.values));

            }

            @Override
            public void onAccuracyChanged(Sensor sensor, int accuracy) {
                Log.i(TAG,"accuracy change: " + sensor + ", accuracy: " + accuracy);

            }
        }, sm.getDefaultSensor(Sensor.TYPE_PROXIMITY),SensorManager.SENSOR_DELAY_FASTEST);
于 2010-11-24T09:34:10.407 に答える
1

呼び出しが行われる前に、クラスを使用して getInt() 経由でとSettings.Systemを読み取ります。次に、setInt() を介して新しい値を設定します。つまり、明るさとモードに 255 を設定します。これにより、最大量で一定の明るさが得られるはずです。SCREEN_BRIGHTNESSSCREEN_BRIGHTNESS_MODESCREEN_BRIGHTNESS_MODE_MANUAL

通話が切れた後、setInt() を介して値を変更する前に保存した古い値を復元できるため、ユーザーは初期設定を取り戻すことができます。:-)

このモードは Android 2.2 以降 (API レベル 8) でのみ使用できることを忘れないでください。古いバージョンの Android もターゲットにする場合は、リフレクションを使用する必要があります。そしてもちろん、システム設定を書き込むためのアクセス許可が必ず必要になります。

于 2010-11-23T16:22:27.853 に答える
1

画面オフは、ライト センサーではなく、プロキシ センサーによって制御されます。電話アプリでプロキシセンサーの登録を削除できます

于 2011-10-16T03:22:25.517 に答える
0

私はあなたがこのアプリを楽しむに違いない!!
近接センサーオフ.apk

よろしく
CVS@2600Hertz

于 2011-03-04T16:58:52.570 に答える