Sembra che nVidia Shield Android TV sia dotato di Android 5.1.1 e un aggiornamento Marshmallow è disponibile solo da dicembre. Suppongo che Android 5.1.1 sia la versione installata sul tuo dispositivo.
Servizi del sistema di query
Abilita adb in modalità wireless sul dispositivo. Segui la guida ufficiale o questa risposta di Izzy per istruzioni, se necessario.
Puoi trovare lo stato di Android - sleep o wake - dal dump di vari servizi di sistema.
Servizio: Potenza
adb shell dumpsys power
Cerca le stringhe mWakefulness
e / o Display Power: state
. Entrambi ti darebbero lo status di cui hai bisogno.
Esempio:
adb shell 'dumpsys power | grep -e "mWakefulness=" -e "Display Power"'
mi da
mWakefulness=Asleep
Display Power: state=OFF
Servizio: finestra
adb shell dumpsys window
Cerca le stringhe mAwake=true
e / o mScreenOnEarly=true
e / omScreenOnFully=true
Esempio:
adb shell 'dumpsys window | grep -e "mAwake=" -e "mScreenOnEarly" -e "mScreenOnFully"'
mi da
mAwake=true
mScreenOnEarly=true mScreenOnFully=true
Servizio: display
adb shell dumpsys display
Cerca le stringhe mState=OFF
e / o mScreenState=OFF
.
Esempio:
adb shell 'dumpsys display | grep -e "mState=" -e "mScreenState"'
mi da
mState=OFF
mScreenState=OFF
Usa l'automazione
Se nessuno dei servizi di sistema menzionati nel metodo precedente ha funzionato per te, imposta un'app di automazione , come Tasker o MacroDroid o Automate.
Ora useremmo l'automazione per scrivere lo stato di Android in un file, come Sleeping for sleep mode e Awake quando è attivo.
- Profilo: Evento → Visualizza → Visualizza spento
- Attività: (Azioni): File → Scrivi file → selezionare un file di testo in cui scrivere, digitare Sleeping e deselezionare Aggiungi nuova riga
- Profilo: Evento → Visualizza → Visualizza attivo
- Attività: (Azioni): File → Scrivi file → selezionare un file di testo in cui scrivere, digitare Attiva e deselezionare Aggiungi nuova riga
Android purtroppo non viene fornito con echo
o printf
utilità, se il dispositivo è rooted, puoi installare busybox ed essere in pace. In caso contrario, scarica il file binario busybox , imposta le autorizzazioni eseguibili e spingilo /data/local/tmp
nell'uso adb push
. Un altro modo per un dispositivo non rootato è di mantenere tre file, uno per lo stato, uno con il testo Sleeping e l'ultimo con il testo Awake. Ogni volta che lo schermo si spegne / si accende, copiare il secondo / terzo file nel primo.
MacriDroid richiede anche un plug-in, ad esempio Impostazioni protette per eseguire i comandi.
Per un Android non rootato, echo
dovrebbe essere sostituito con ./data/local/tmp/busybox echo
. In caso contrario, fare un'operazione di copia con il comando cp SOURCE DESTINATION
.
Il tuo flusso dovrebbe assomigliare più o meno a questa immagine
(Clicca sull'immagine per ingrandire)
La tua necessità di creare due flussi, uno per il sonno e l'altro per il risveglio. Il secondo blocco nel flusso è denominato Ricezione trasmissione e si trova in App. Il terzo blocco si chiama File write text e si trova in File & Storage.
Ora puoi controllare il contenuto di quel file usando adb in modalità wireless o usando SSH (richiede un server SSH su Android; esegui il server su tutte le interfacce e non associarlo a un'unica interfaccia).
Esiste un'altra possibilità, ad esempio fare in modo che l'app di automazione carichi il file su un server locale o remoto in modo da poter eseguire una query su quel server anziché su Android per conoscere lo stato.