用Home Assistant操控Android TV / Use Home Assistant to Control Android TV with ADB Commands
Home Assistant內建了可以透過ADB操控Android TV的做法,這也可以用來操控Chromecast with Google TV。這邊就記錄一下我常用的ADB指令。
ADB指令 / ADB commands
Home Assistant要執行ADB操控的地方在「執行服務」裡面。先選擇「Android TV: ADB command」,再選擇要操控的裝置,然後就可以在下面Command欄位設定指令。
常用的指令有:
回到首頁 (感謝Ken Fehling):
am start -a android.intent.action.MAIN -c android.intent.category.HOME
開啟指定的應用程式及其activity (這個例子是電視版的巴哈姆特動畫瘋):
adb shell am start -n tw.com.gamer.android.animad/tw.com.gamer.android.animad.tv.ui.TVAnimadActivity
以下是開啟YouTube Kid的做法:
adb shell am start -a android.intent.action.VIEW -d -n com.google.android.youtube.tvkids/com.google.android.apps.youtube.tvkids.activity.MainActivity
https://stackoverflow.com/a/13212310
如果想要查詢現在畫面的應用程式名字以及activity名字,請用其他電腦連上Android TV的ADB,然後執行以下指令來查詢:
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
https://stackoverflow.com/a/3512723
開啟網頁:
adb shell am start -a android.intent.action.VIEW -d https://blog.pulipuli.info
雖然可以顯示,但要操作的話就比較麻煩了。
關閉微光模式
https://www.ptt.cc/bbs/Google/M.1642944467.A.C7F.html
如果Android TV變成待機的微光模式,那上面的ADB指令就不會運作。根據myelf541的建議,可以在開發者設定裡面設定永不休眠。目前運作起來還算順利。
開啟YouTube影片 / Play YouTube Video
https://www.home-assistant.io/integrations/cast/
如果要讓Android TV開啟YouTube影片的話,似乎不能單純用ADB操控。另一個思路是用Android TV內建的Chromecast功能,用投放的方式開啟YouTube影片。
以下是Home Assistant裡面設定開啟公共電視直播頻道 (此影片的ID是4Uc00FPs27M,可以從網址得知)的做法:
- Action: Call a Service
- service: media_extractor.play_media
- 選擇設備Google TV
- Content ID: {"app_name": "youtube", "media_id": "4Uc00FPs27M"}
- Content type: cast
這樣就可以了。
最後就讓我們來問個問題:你家有智慧電視嗎?你通常用智慧電視拿來做什麼呢?
歡迎在下面分享你的看法喔~
如果要用adb開啟網頁的話,請先為Android TV安裝瀏覽器。
回覆刪除裝完之後就能用adb執行開啟網頁的指令了。