使 AndroidTV 应用在 FireTV 上可用

Posted

技术标签:

【中文标题】使 AndroidTV 应用在 FireTV 上可用【英文标题】:Making AndroidTV app workable on FireTV 【发布时间】:2015-09-05 00:10:50 【问题描述】:

我有一个 android 电视应用程序,它使用了一个 Leanback 库,我也想将它发布到亚马逊电视商店。 我知道我们可以按照this link 使用标准LAUNCHER 将leanback 库用于消防电视。但是我不确定一些事情:

    Recommendations

Android TV 在电视主屏幕的第一行显示内容推荐

内容推荐显示在电视主屏幕的第一行 首次使用设备后

为此,我们需要在安卓电视应用中创建recommendation service 和build recommendations。

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

全局导航菜单是主要的系统菜单。它出现在一个 屏幕左侧的行。全局导航菜单允许 用户选择主要内容类别或其他选项,包括 搜索、首页、电影、电视、音乐、游戏、应用等。

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

    Global Search

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

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

全局搜索在系统范围内提供,不可自定义 个别应用程序。开发者可以实现自己的应用内搜索,但 它不包含在全局搜索功能中。

    In app Search

Leanback 支持库提供了一组类来启用 您的应用程序中的标准搜索界面,与 电视上的其他搜索功能,并提供语音等功能 输入。

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

【问题讨论】:

【参考方案1】:
    建议

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

    全球搜索

同上一点。

    应用内搜索

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

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

您可能还会遇到一两个。

【讨论】:

感谢 dextor 的回复!你在 Firetv 设备上确认了吗? firetv 中的这个语音搜索有什么作用amazon.com/gp/help/customer/display.html?nodeId=201497650?是不是像全局搜索? 是的,我所说的都是/已经在实际的 FireTV 设备上进行了测试。关于您指出的语音搜索,文档状态为Say a movie title, actor name, character name, or genre instead of full sentences or commands, as your Amazon Fire TV device does not support natural language commands。没有提到应用范围的搜索。 @dextor,有没有办法像上面提到的那样隐藏麦克风图标并禁用它?

以上是关于使 AndroidTV 应用在 FireTV 上可用的主要内容,如果未能解决你的问题,请参考以下文章

如何在主屏幕上设置 Fire TV“图标”?

Android TV 和 Fire TV 设备是不是总是保证过扫描?

使用 RowsSupportFragment 自定义 Android 和 FireTv UI

卡在 Android TV / Fire TV 的 Charles 代理证书安装中

使文件在工作场所锁定的 Mac 上可执行

如何处理 tvOS 和 Android TV 之间的 React Native 应用程序中的缩放问题?