注:以下の解決策では、Androidをルート化する必要があります。
rootを使用しない自動化では、何も変更したり上書きしたりするのではなく、既存の変更に対して独自の処理を実行するため、問題を直接処理することはできないと思います。解決策の鍵はというファイルmax_brightness
、の下のファイル/sys
、つまりLinuxカーネルの一部であり、それによって直接管理されることに気づくまで、私は同様の行に投稿しようとしていました。そのファイルで明るさの制限を設定することが、ここに行く最良の方法であることがわかりました。あなたはより良い解決策に反対するかもしれません。
カスタムの最大輝度を設定すると、Androidもアプリも、ファイルのコンテンツを変更しない限り、そのカスタムレベルを超えて輝度を設定できないことに気付きました。これは、多くの場合アプリに理由がなく、どれも変更されていません。さらに、ファイルはルートによって所有され、グループルートの一部であるため、すべてのアプリまたはsystem_serverでさえ、そのファイルに変更を加えるにはルート権限が必要です。
そのファイルを見つけるのは少し難しいです。Android 4.2搭載のMTKデバイスでは、そのファイルはの下にあるよう/sys/devices/platform/leds-mt65xx/leds/lcd-backlight/
です。
Android 5.0.2以降を搭載したQualcommデバイスでは、ファイルはにあるようです/sys/devices/mdp.0/qcom,mdss_fb_primary.168/leds/lcd-backlight/
。
そのファイルを見つける最善の方法は、検索クエリを実行することだと思います(設定 adb そのため)、例えば:
(busyboxが必要)
adb shell su -c 'find /sys/ -type f -iname "max_brightness"'
私のQualcommデバイスでは、出力は次のとおりです。
/sys/devices/f9924000.i2c/i2c-2/2-0068/leds/red/max_brightness
/sys/devices/f9924000.i2c/i2c-2/2-0068/leds/blue/max_brightness
/sys/devices/f9924000.i2c/i2c-2/2-0068/leds/green/max_brightness
/sys/devices/mdp.0/qcom,mdss_fb_primary.168/leds/lcd-backlight / max_brightness
/sys/devices/qcom,camera-led-flash.81/leds/torch-light/max_brightness
/sys/devices/msm_sdcc.1/leds/mmc0::/max_brightness
/sys/devices/msm_sdcc.2/leds/mmc1::/max_brightness
/ sys / devices / 01-qcom、leds-d300 / leds / led:flash_torch / max_brightness
/ sys / devices / 01-qcom、leds-d300 / leds / led:flash_0 / max_brightness
/ sys / devices / 01-qcom、leds-d300 / leds / led:flash_1 / max_brightness
/ sys / devices / 01-qcom、leds-e200 / leds / kpdbl-lut-2 / max_brightness
/ sys / devices / 01-qcom、leds-e200 / leds / kpdbl-pwm-3 / max_brightness
/ sys / devices / 01-qcom、leds-e200 / leds / kpdbl-pwm-4 / max_brightness
/ sys / devices / 01-qcom、leds-e200 / leds / button-backlight / max_brightness
記載されている場所lcd-backlight
は私にとって意味のある唯一の場所であり、これが私のデバイスでファイルを見つけた方法です。他人に尋ねる心配はありません。私は画面の明るさを変更しようとし、名前が付けられたファイルbrightness
(これらの場所の下にもある)の変更を探しました。の出力以外は正しい出力を反映していませんでした/sys/devices/mdp.0/qcom,mdss_fb_primary.168/leds/lcd-backlight
。
デモのためだけに、制限を設定してみてください max_brightness
adb shell su -c 'echo LIMIT > PATH_TO_MAX_BRIGHTNESS' # in my case PATH_TO_MAX_BRIGHTNESS is /sys/devices/mdp.0/qcom,mdss_fb_primary.168/leds/lcd-backlight/ and set LIMIT to a value less than 30 (not limited to).
ここで、明るさスライダーまたはサードパーティのアプリを使用して明るさを最大にしてみてください。スライダーまたはアプリの構成が最大に見えても、画面の明るさが特定のポイントを超えていないことがわかります。その「特定のポイント」の明るさは、慣れているデフォルトの明るさよりも確かに低くなります。
max_brightnessの最大値は多くの場合255であり、明るさの範囲は0〜255であることに注意してください。多くの場合、常にそうであるとは限りません。そして、恐れない0に制限を設定するから、それはない、あなたが変更を元に戻したり、デバイスを再起動するまで点灯し、画面を引き起こします。
バッテリーの残量が少なくなったときに、睡眠中に邪魔になったり、バッテリーの消耗が激しくない制限を見つけます。
オートメーション
ために オートメーション、ルート権限でコマンドを実行でき、優先トリガーのコンテキストが満たされたときに、自動化アプリを使用します。時間ベースのトリガーをお勧めします。
いくつかの実用的な例:
でタスカー、お好みのコンテキストで設定プロファイルは、タスクを作成し、アクションを使用:コード→ファイル名を指定して実行シェル:
- コマンド:
echo LIMIT > PATH_TO_MAX_BRIGHTNESS
- ルートを使用をチェック
でMacroDroid、セットアップお好みのトリガーとアクションのインストールSecureの設定を、→アクション→ファイル名を指定して実行コマンドを、それを選択します。
- コマンド:
echo LIMIT > PATH_TO_MAX_BRIGHTNESS
- ルートを使用をチェック
で自動化あなたのトリガのアクションを設定するときに、あなたの流れの一部として、選択シェルコマンドのスーパーユーザーにアプリ下で実行します。
- コマンドライン:
echo LIMIT > PATH_TO_MAX_BRIGHTNESS
フローに必要なすべての権限をインストールしてください。
でDroidAutomation、セットアップあなたのトリガーとタスクの下で、ルートは、コマンドラインやタイプを実行→選択します。echo LIMIT > PATH_TO_MAX_BRIGHTNESS
ご想像のとおり、アプリごとに2つのプロファイルを設定する必要があります。1つは制限を設定し、もう1つは最大輝度を使い慣れたデフォルトに設定します。
明示的なローバッテリートリガー:
私がすることができたいと思い検討中で、これを維持する 低バッテリまたは100%のバッテリーのトリガーを使用すると、Androidがしたい変更オーバーライドすることで、この答えは、の目的を台無しにしてしまうこと。例として、バッテリーが100%に達するたびにLIMITを0に設定すると、Androidは画面を通常どおり最大に点灯し、数ミリ秒で(正しく読むと)、自動化アプリが実行されて制限が設定されます。あなたの睡眠はそれらのミリ秒で中断されるかもしれません。
別の状況では、低バッテリーインテントがシステムによってブロードキャストされると、Cool Guyのタブレットは画面が最大に点灯し、数ミリ秒で明るさがLIMITに戻ります。
回避策は、バッテリー残量低下トリガーの場合はバッテリーレベルを16以上に設定し、バッテリー充電量がフルの場合は99以下に設定することです。