nVidia Shield Android TVにはAndroid 5.1.1が付属しており、Marshmallowのアップデートは12月からのみ利用できるようです。Android 5.1.1がデバイスにインストールされているバージョンであると想定しています。
クエリシステムサービス
デバイスのワイヤレスモードでadbを有効にします。必要に応じて、公式ガイドまたはこの Izzyの回答に従って手順を確認してください。
さまざまなシステムサービスのダンプから、Androidのステータス(スリープまたはアウェイク)を確認できます。
サービス:電源
adb shell dumpsys power
文字列mWakefulness
やを検索しますDisplay Power: state
。どちらも必要なステータスを提供します。
例:
adb shell 'dumpsys power | grep -e "mWakefulness=" -e "Display Power"'
くれます
mWakefulness=Asleep
Display Power: state=OFF
サービス:ウィンドウ
adb shell dumpsys window
文字列mAwake=true
および/またはmScreenOnEarly=true
and / orを検索mScreenOnFully=true
例:
adb shell 'dumpsys window | grep -e "mAwake=" -e "mScreenOnEarly" -e "mScreenOnFully"'
くれます
mAwake=true
mScreenOnEarly=true mScreenOnFully=true
サービス:ディスプレイ
adb shell dumpsys display
文字列mState=OFF
やを検索しますmScreenState=OFF
。
例:
adb shell 'dumpsys display | grep -e "mState=" -e "mScreenState"'
くれます
mState=OFF
mScreenState=OFF
自動化を使用する
前の方法で説明したシステムサービスがどれも機能しない場合は、Tasker、MacroDroid、Automateなどの自動化アプリをセットアップします。
次に、オートメーションを使用して、Androidのステータスをファイルに書き込みます(スリープモードの場合はSleeping、スリープ状態の場合はAwakeなど)。
- プロファイル:イベント→表示→表示オフ
- タスク:(アクション):ファイル→ファイルの書き込み→書き込むテキストファイルを選択し、「スリープ」と入力して、「改行の追加」のチェックを外します
- プロファイル:イベント→表示→表示オン
- タスク:(アクション):ファイル→ファイルの書き込み→書き込むテキストファイルを選択し、Awakeと入力して、[改行の追加]チェックボックスをオフにします。
Androidの悲しげに付属していないecho
か、printf
デバイスが根ざしている場合、あなたがインストールすることができ、ユーティリティbusyboxのを、平和であること。そうでない場合は、busybox バイナリをダウンロードし、実行権限を設定して、を/data/local/tmp
使用するようにプッシュしadb push
ます。ルート権限を取得されていないデバイスのもう1つの方法は、3つのファイルを保持することです。1つは状態用、1つはテキスト「睡眠」、最後のファイルは「目覚め」です。画面がオフ/オンになるたびに、2番目または3番目のファイルを最初のファイルにコピーします。
MacriDroidには、コマンドを実行するためのSecure Settingsなどのプラグインも必要です。
ルート権限を取得していないAndroidの場合echo
は、に置き換える必要があり./data/local/tmp/busybox echo
ます。それ以外の場合は、コマンドを使用してコピー操作を実行しますcp SOURCE DESTINATION
。
あなたの流れは多かれ少なかれこの画像のように見えるはずです
(画像をクリックすると拡大します)
睡眠用と目覚め用の2つのフローを作成する必要があります。フローの2番目のブロックはBroadcast receiveという名前で、Appsの下にあります。3番目のブロックはFile write textという名前で、File&Storageの下にあります。
これで、ワイヤレスモードでadbを使用するか、SSHを使用して、そのファイルの内容を確認できます(AndroidでSSHサーバーが必要です。サーバーはすべてのインターフェースで実行し、単一のインターフェースにバインドしないでください)。
ステータスを知るために、Androidではなくそのサーバーにクエリを実行できるように、自動化アプリでファイルをローカルサーバーまたはリモートサーバーにアップロードするなど、別の可能性もあります。