从 logcat Android-TV 中提取命令
Extract command from logcat Android-TV
我正在尝试提取当我在 Android 电视上单击特定按钮时调用的命令,最终我想将它添加到应用程序中,但现在我只是想通过调用它用于测试的 ADB。
10-14 10:18:16.654 5058 5058 D SourceElementCallback: onElementClick position:7
10-14 10:18:16.656 5058 5058 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1611 android.content.ContextWrapper.bindService:698 org.droidtv.channels.sources.SourcesUtils.bindToLoggingService:743 org.droidtv.channels.sources.SourcesUtils.switchTo:327 org.droidtv.channels.sources.SourceElementCallback.onElementClick:82
10-14 10:18:16.658 5058 5058 D SourcesUtils: PASSTHROUGH sourceUri:content://android.media.tv/passthrough/com.mediatek.tvinput%2F.hdmi.HDMIInputService%2FHW5
10-14 10:18:16.660 3878 3972 D org.droidtv.candeebug.Gateway: Returning successfully for event: {"event-type":"unknown.28","boot-count":9,"standby-count":9,"kernel-time":4030979,"data":{"original-event-type":28,"InputName":"Computer","uiname":"HDMI 1","ver":1}}
10-14 10:18:16.661 3878 5242 D org.droidtv.candeebug.h.a: Updated total event size to: 6815
10-14 10:18:16.670 2325 5682 I ActivityManager: START u0 {act=android.intent.action.VIEW dat=content://android.media.tv/passthrough/com.mediatek.tvinput/.hdmi.HDMIInputService/HW5 flg=0x10000000 cmp=org.droidtv.playtv/.PlayTvActivity (has extras)} from uid 1000
10-14 10:18:16.673 3540 3540 D PlayTvActivity: onNewIntent Action android.intent.action.VIEW data content://android.media.tv/passthrough/com.mediatek.tvinput%2F.hdmi.HDMIInputService%2FHW5
10-14 10:18:16.673 3540 3540 D PlayTvActivity: device ID =5
10-14 10:18:16.673 3540 3540 D PlayTvActivity: onNewIntent: ACTION_VIEW fav_list_id -1
10-14 10:18:16.685 3540 3540 D PlayTvActivity: onResume STATE_STARTED
10-14 10:18:16.686 3540 3540 D TvSessionManager: setStreamType value true
看起来这就是调用的动作?如何通过 ADB 调用它?
sourceUri:content://android.media.tv/passthrough/com.mediatek.tvinput%2F.hdmi.HDMIInputService%2FHW5
您必须按以下方式致电 activity 经理 am
:
adb shell am start -a android.intent.action.VIEW -d content://android.media.tv/passthrough/com.mediatek.tvinput/.hdmi.HDMIInputService/HW5 -n org.droidtv.playtv/.PlayTvActivity -f 0x10000000
考虑到 Intent 包含额外信息(请参阅 (has extras)
),那么上面的命令可能会扩展一些以添加此附加信息。
棘手的部分是理解要传递给 activity 管理器的密钥名称和类型(我指的是“设备 ID”,它似乎是作为额外提供的数据)。
假设这是一个 int 值,那么您必须附加:
--ei device-id-key 5
更多信息here
adb shell am start -a android.intent.action.VIEW -d content://android.media.tv/passthrough/com.mediatek.tvinput%2F.hdmi.HDMIInputService%2FHW5 -n org.droidtv.playtv/.PlayTvActivity -f 0x10000000
它适用于 %2F :-)
我正在尝试提取当我在 Android 电视上单击特定按钮时调用的命令,最终我想将它添加到应用程序中,但现在我只是想通过调用它用于测试的 ADB。
10-14 10:18:16.654 5058 5058 D SourceElementCallback: onElementClick position:7
10-14 10:18:16.656 5058 5058 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1611 android.content.ContextWrapper.bindService:698 org.droidtv.channels.sources.SourcesUtils.bindToLoggingService:743 org.droidtv.channels.sources.SourcesUtils.switchTo:327 org.droidtv.channels.sources.SourceElementCallback.onElementClick:82
10-14 10:18:16.658 5058 5058 D SourcesUtils: PASSTHROUGH sourceUri:content://android.media.tv/passthrough/com.mediatek.tvinput%2F.hdmi.HDMIInputService%2FHW5
10-14 10:18:16.660 3878 3972 D org.droidtv.candeebug.Gateway: Returning successfully for event: {"event-type":"unknown.28","boot-count":9,"standby-count":9,"kernel-time":4030979,"data":{"original-event-type":28,"InputName":"Computer","uiname":"HDMI 1","ver":1}}
10-14 10:18:16.661 3878 5242 D org.droidtv.candeebug.h.a: Updated total event size to: 6815
10-14 10:18:16.670 2325 5682 I ActivityManager: START u0 {act=android.intent.action.VIEW dat=content://android.media.tv/passthrough/com.mediatek.tvinput/.hdmi.HDMIInputService/HW5 flg=0x10000000 cmp=org.droidtv.playtv/.PlayTvActivity (has extras)} from uid 1000
10-14 10:18:16.673 3540 3540 D PlayTvActivity: onNewIntent Action android.intent.action.VIEW data content://android.media.tv/passthrough/com.mediatek.tvinput%2F.hdmi.HDMIInputService%2FHW5
10-14 10:18:16.673 3540 3540 D PlayTvActivity: device ID =5
10-14 10:18:16.673 3540 3540 D PlayTvActivity: onNewIntent: ACTION_VIEW fav_list_id -1
10-14 10:18:16.685 3540 3540 D PlayTvActivity: onResume STATE_STARTED
10-14 10:18:16.686 3540 3540 D TvSessionManager: setStreamType value true
看起来这就是调用的动作?如何通过 ADB 调用它?
sourceUri:content://android.media.tv/passthrough/com.mediatek.tvinput%2F.hdmi.HDMIInputService%2FHW5
您必须按以下方式致电 activity 经理 am
:
adb shell am start -a android.intent.action.VIEW -d content://android.media.tv/passthrough/com.mediatek.tvinput/.hdmi.HDMIInputService/HW5 -n org.droidtv.playtv/.PlayTvActivity -f 0x10000000
考虑到 Intent 包含额外信息(请参阅 (has extras)
),那么上面的命令可能会扩展一些以添加此附加信息。
棘手的部分是理解要传递给 activity 管理器的密钥名称和类型(我指的是“设备 ID”,它似乎是作为额外提供的数据)。
假设这是一个 int 值,那么您必须附加:
--ei device-id-key 5
更多信息here
adb shell am start -a android.intent.action.VIEW -d content://android.media.tv/passthrough/com.mediatek.tvinput%2F.hdmi.HDMIInputService%2FHW5 -n org.droidtv.playtv/.PlayTvActivity -f 0x10000000
它适用于 %2F :-)