2017-02-12 4 views
0

最小に設定しても携帯電話のディスプレイのバックライトが暗いところで私を傷つけます。ファイル/sys/class/leds/lcd-backlight/brightnessの有効な値の範囲を調べたところ、0〜255の値を取ることがわかりました。 0は表示オフ、1は最小輝度、255は最大輝度です。アンドロイドアプリはroot権限のない/ sys /に書き込みできますか?

アンドロイドシステムの表示設定で、最小値に設定すると、sysファイルの値が5に設定され、暗い所で目が痛くなります。私はルート端末から値1をエコーし​​、暗いところで私の目を快適にする最も低い値に明るさを設定します。

sysファイルの所有者はsystemで、グループはsystemであり、そのアクセス許可は-rw-r--r--です。

ディスプレイの明るさを最小値に設定するには、/sys/class/leds/lcd-backlight/brightnessに書き込みする必要があります。アプリでsuコマンドを使用すると、ファイルを変更できます。しかし、私はスーパーユーザーの許可がなければ同じことをしたい。ファイルを変更する権限がありますか?

ルートパーミッションなしで/ sysファイルを変更する方法はありますか?

答えて

0

画面の明るさを変更するためのユーザー権限は必要ありません。ただ、この操作を行います。

WindowManager.LayoutParams 
layoutParams = getWindow().getAttributes(); 
layoutParams.screenBrightness = BackLightValue; 
getWindow().setAttributes(layoutParams); 

を変数BackLightValueはautoに明るさを設定するために使用されていますが、あなたが

+0

ありがとうを必要とするものは何でもそれを変更することができます。これは、アプリケーション内でのみ動作します、私はonPause()とシステム全体に他のメソッドを設定する必要があると思う。また、 'BackLightValue'変数はfloat型であるようです。私はランダムな値だけをチェックしました。 floatで1〜255の整数値を使用するにはどうすればよいですか? –

関連する問題