0

私は Android (2.1+) 用のアプリを書いています。そして、ディスプレイの明るさの問題を解決する必要があります。アプリは長時間実行され、ユーザーが非アクティブな場合 (たとえば 30 秒間)、明るさを 0% に設定し、画面に触れた後に元の値を復元する必要があります。

今、私は使用しています

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);  
wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "DimScreen");

@Override
protected void onPause() {
    super.onPause();
wl.release();
}
@Override
protected void onResume() {
super.onResume();
wl.acquire();
}

ただし、これは明るさを 0% に設定しません。そして、バッテリーの消耗が高くなります。画面に触れるだけで明るさを0%(ディスプレイをオフにしない)に設定し、元の値に戻すことができますか?また、アプリの実行中にデバイスがロックされないようにする必要があります。

前もって感謝します。
kamelot_sk

4

1 に答える 1

0

画面がオフのときにアプリを実行する唯一の方法は、部分的なウェイクロックを使用することですが、これは、画面に触れるだけで電源ボタンを押す必要がなく、画面を再度オンにするという要件には適合しません.

必要なことを行う別の方法は、「hardware.setScreenBacklight」メソッドを使用して整数値を入力し、画面をできるだけ暗くすることです。また、クラスの XML ビュー レイアウト内で 'android:keepScreenOn="true"' を使用して、アプリが開いている間は画面が常にオンになるようにします。

于 2011-02-21T15:29:43.240 に答える