从 ADB 启动 youtube 搜索

Launch a youtube search from ADB

我正在尝试从 ADB(从 raspbian 上的另一台设备)启动 YouTube 搜索。

所以我想启动 youtube 应用程序然后启动搜索 "test"

我可以使用这个启动 youtube 应用程序: shell猴子-pcom.google.android.youtube.tv-candroid.intent.category.LAUNCHER1

但我找不到如何启动搜索。 我猜它正在使用 intent.action.search...

正确的代码是什么? 您是否有任何 link 解释如何使用 adb 和 intent ?

我找不到任何简单的解释,

谢谢,

第一种方法
因为我没有 android 电视,因此没有 youtube 电视应用程序。我会借助手机预装的 youtube 应用程序来讲述它。

android 手机上预装的 com.google.android.youtube 上用于打开搜索的 Intent 是

com.google.android.youtube.action.open.search

您可以在应用程序的 android 清单中找到此 Intent。 请格外小心地查看清单中的 android:exported

这是打开应用程序和打开搜索栏的完整命令语法。

adb shell am start -a [intent action name] -n [activity name]

要在任何应用程序中获取 activity 名称,请转到该应用程序并单击该 activity,然后单击 运行 这个

adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

这是我的案例

mCurrentFocus=Window{a4d41d0 u0 com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity}
mFocusedApp=AppWindowToken{31adc14 token=Token{c0a51f0 ActivityRecord{c314a33 u0 com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity t283}}}

在我的例子中 activity 是

com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity

因此要打开搜索栏,我将键入

adb shell am start -a com.google.android.youtube.action.open.search -n com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity

然后输入任何东西有很多选择,其中之一是通过虚拟键盘发送键,例如

adb shell input text "hello"

要了解更多选项,您可以输入

adb shell input text help


第二种方法
还有另一种方法是在您使用 am start 打开 activity 后点击搜索栏。
这里首先你需要通过点击搜索栏和capturing its coordinates使用

知道搜索栏的坐标
 adb shell getevent -l

然后使用

发送触摸
adb shell input tap [x_coordinate] [y_coordinate]



Here 是关于 adb 和 intent 的文档。 希望这会有所帮助。