Wpis z mikrobloga

Czy jest na sali ktoś, kto próbował się bawić w bezpośrednie wysyłanie komend ADB do TV Android (konkretnie interesuje mnie TCL model P8K)?

Włączyłem dostęp programisty na TV, jestem w stanie z nim się dogadywać, ale nie mogę uzyskać za cholerę tego, na czym mi zależy, czyli możliwości wyboru wejścia (TV/HDMI1/HDMI2 itd.). Temat jest dość popularny, w necie wygrzebałem ileś różnych wątków, gdzie różne osoby twierdzą, że im się udało, niestety dotyczy to chyba innych telewizorów, niż ten mój, bo u mnie te ich sposoby albo nie wywołują żadnej widocznej reakcji albo są odrzucane przez TV z różnymi odzewami, typowo albo "Activity class does not exist", co jest dość zrozumiałe, albo niestety najczęściej i niestety do wszelkich najbardziej obiecujących komend: " Activity not started, intent has been delivered to currently running top-most instance." - czyli odebrałem, ale mam cię w dupie, bo to co robię obecnie jest ważniejsze.
I za cholerę nie wiem, jak to ugryźć, jest w ADB jakiś odpowiednik sudo?

#androiddev i #elektronika (no jak by nie patrzeć elektronika) a przede wszystkim #homeassistant
Jarek_P - Czy jest na sali ktoś, kto próbował się bawić w bezpośrednie wysyłanie kome...

źródło: image

Pobierz
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

I za cholerę nie wiem, jak to ugryźć, jest w ADB jakiś odpowiednik sudo?


@Jarek_P: adb to jest shell linuksowy. Jak zrobisz samo adb shell to cię przeniesie do shella. Natomiast wątpię, że będzie tam binarka z su ale możesz spróbować.

Z ciekawości jak się fizycznie podłączasz po adb do telewizora? Jakiś port szeregowy czy specjalny kabel usb?
  • Odpowiedz
Activity class does not exist


@Jarek_P: a weź ściągnij całe APK, bo może pakiety się zmieniły dlatego tutoriale nie działają. Zrób tak:
1. Wylistuj wszystkie APK w TV:

adb shell pm
  • Odpowiedz
  • 0
Natomiast wątpię, że będzie tam binarka z su ale możesz spróbować.


@Kryspin013: spróbowałem, nie ma.

Z ciekawości jak się fizycznie podłączasz po adb do telewizora?
  • Odpowiedz
  • 0
Następnie trzeba sprawdzić co ma w sobie ten plik APK


@acpiorundc: uuuu, paaanie, prawie ośmiomegabajtowy plik apk otrzymałem. Udało mi się go rozpakować 7zipem, ale za cholerę nie wiem, jak w nim czegokolwiek szukać.
  • Odpowiedz
  • 0
sprawdź w AndroidManifest.xml


@acpiorundc: hmmm.... albo zły plik ściągnąłem (a wziąłem taki z obiecującą jak dla mnie nazwą TIF_TvInput) albo coś źle robię, bo nie widzę tu nic sensownego:
JarekP - > sprawdź w AndroidManifest.xml 

@acpiorundc: hmmm.... albo zły plik ściągn...

źródło: image

Pobierz
  • Odpowiedz
  • 0
@acpiorundc: pobawiłem się tym dzisiaj z pomocą Chatagpt, który całkiem nieźle analizował znalezione bloki (szukałem haseł INPUT oraz HDMI). Finalnie testowałem komendę, która miała mi włączyć HDMI1:

adb shell am broadcast -a com.tcl.tvinput.action.CHANGE_INPUT -n com.tcl.tvinput/.TvPassThroughService --es "inputId" "com.tcl.tvinput/.TvPassThroughService/HW15"

i owszem, była przyjmowana, ale z odpowiedzią Reslut=0.

Póki co udało mi się skutecznie zasymulować wciskanie przycisków na pilocie i potrzebne wejście uruchamiam sekwencją Home+Input+Right+Right+Enter. Działa, ale prymitywne to trochę.
  • Odpowiedz
@Jarek_P: Jak gdzieś wrzucisz w APK to mogę zerknąć czy te broadcasty mają szanse w ogóle dotrzeć tam gdzie powinny.

Z innych sposobów może da się to ogarnąć na poziomie linuxa?
Robiłem kiedyś jakieś przełączanie HDMI standby na jakimś chińskim boxie i trzeba było wysłać jakiś bajt do pliku /sys/class/... coś-tam. Może na Twoim boxie jest coś co wygląda jak plik reprezentujący wybór inputu.
  • Odpowiedz