1

mScreenOn=trueまたは を使用して、デバイスの画面のオンまたはオフを確認しようとしましたmPowerState=SCREEN_BRIGHT_BIT。ただし、次のコマンドは最新の Android バージョンでは機能しません。何も返していません

次のコマンドは Android で正常に動作します - 4.3 Jelly Bean

  1. input_method dumpsys の使用

    adb shell dumpsys input_method | grep mScreenOn

  2. パワーダンプシスの使用

    adb shell dumpsys power | grep mScreenOn また

    adb shell dumpsys power | grep mPowerState

最新のAndroidバージョン(Lollipop、Nougat、Oreo、Pieなど)でadb shellコマンドを使用して、画面のオフまたはオンの状態を確認する他の方法はありますか

4

3 に答える 3

5

最近、私は同じ問題を抱えていて、以下の解決策を見つけました。

mInteractive 値は、表示 ON の場合は dumpsys input_method で「true」、表示 OFF の場合は「false」になります。

シェルスクリプトでの例の使用法:

screen_info=`adb shell dumpsys input_method | grep mInteractive=true`
if [[ $screen_info == *"mInteractive"* ]]
then
    echo "Screen is ON"
     #Do something
else
    echo "Screen is OFF"
    #Do something
fi
于 2015-05-26T19:27:36.627 に答える
2

Android 5.0.1 – Lollipop の動作が変更され、ロギングが削除されました mScreenOn

何度も試した結果、dumpsys の input_method ファイルを比較した結果、

adb shell dumpsys input_method | grep -i mActive
于 2015-05-23T10:30:21.073 に答える
2

Androidの回答があります-ADBを使用して画面ステータスを取得します-スタックオーバーフロー、およびここにコピーします:

  • 私の電話:XiaoMi 9
    • アンドロイド:10

adb を使用して画面ステータスのオン/オフを確認しますか?

方法 1: 使用mHoldingDisplaySuspendBlocker

  • 指示:adb shell dumpsys power | grep mHoldingDisplaySuspendBlocker
  • 出力:
    • mHoldingDisplaySuspendBlocker=false-> 画面オフ
    • mHoldingDisplaySuspendBlocker=true-> 画面オン

方法 2: 使用mWakefulness

  • 指示:adb shell dumpsys power | grep mWakefulness=
  • 出力:
    • mWakefulness=Dozing-> 画面オフ
    • mWakefulness=Awake-> 画面オン

方法 3: 使用nfc(Android に NFC モジュールがある場合)

  • 指示:adb shell dumpsys nfc | grep mScreenState=
  • 出力:
    • mScreenState=OFF_LOCKED-> 画面オフ(およびロック)
    • mScreenState=ON_XXX-> 画面オン
      • mScreenState=ON_LOCKED-> 画面オン (およびロック済み)
      • mScreenState=ON_UNLOCKED-> 画面オン (およびロック解除済み)

方法 4: 使用service call

  • 指示:adb shell service call power 12
  • 出力:
    • Result: Parcel(00000000 00000000 '........')->0画面オフを意味します
    • Result: Parcel(00000000 00000001 '........')->1画面オンを意味します
于 2020-02-03T10:50:31.237 に答える