使 AndroidTV 应用程序可在 FireTV 上运行

Making AndroidTV app workable on FireTV

我有一个使用 Leanback 库的 android 电视应用程序,我也想将其发布到亚马逊电视商店。 我知道我们可以根据 使用标准 LAUNCHER 将 Leanback 库用于 fire tv。但是我不确定一些事情:

  1. Recommendations

Android电视主屏第一行显示内容推荐

Content recommendations appear as the first row of the TV home screen after the first use of the device

为此,我们需要在 android 电视应用程序中创建一个 recommendation service and build recommendations

FireTV 是否也显示推荐并要求推荐服务出现在 firetv 应用程序中?引用自 this link

The global navigation menu is the primary system menu. It appears in a row on the left side of the screen. The global navigation menu allows the user to choose major content categories or other options including Search, Home, Movies, TV, Music, Games, Apps, and so on.

Fire TV 上的全局导航菜单是否类似于 Android 电视上的内容推荐行?

  1. Global Search

Android TV 使用 Android search interface 从已安装的应用程序中检索内容数据并将搜索结果提供给用户。 Android TV 应用为此目的实现了 Content Providersearchable.xml 配置文件。

Fire TV 是否提供全局搜索?我们是否需要提供类似于 Android TV 应用程序的内容提供商?引用自 this link

Global search is provided system-wide and is not customizable for individual apps. Developers may implement their own in-app search, but it is not included in the global search function.

  1. In app Search

The Leanback support library provides a set of classes to enable a standard search interface within your app that is consistent with other search functions on TV and provides features such as voice input.

由于 leanback 支持库可以与 Android API 级别 17 一起用于 Fire TV,我认为 leanback SearchFragment 也可以用于 FireTV。但是语音输入的处理方式不同吗?

  1. 建议

不,Fire TV 不支持推荐,IIRC。

  1. 全局搜索

同上一点

  1. 应用内搜索

是的,可以使用SearchFragmentclass。但是(不确定最近版本的 Leanback),由于麦克风输入的处理方式存在一些问题。要做的事情之一是禁用语音识别器:

Field mSpeechRecognizerField = SearchFragment.class.getDeclaredField("mSpeechRecognizer");
mSpeechRecognizerField.setAccessible(true);
mSpeechRecognizerField.set(this, null);

你可能还会遇到一两个。