as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
开发
测试
应用发布
盈利
用户参与
设备规格
资源

常见问题解答 (Fire TV)

常见问题解答 (Fire TV)

以下是有关在Fire TV上进行开发的常见问题解答 (FAQ)。

一般问题

问: 我的应用能在亚马逊Fire TV上运行吗?
确保您的应用与亚马逊Fire TV设备的规格兼容。请参阅设备规格,了解详细的设备和功能规格。

您的应用必须符合亚马逊应用商店内容政策。亚马逊还建议您自行测试应用。如发现任何问题,请提交更新。

问: 如何提交亚马逊Fire TV应用?
向亚马逊Fire TV设备提交应用前,请在亚马逊应用和游戏开发者门户上创建一个账户,然后通过该门户提交应用。

如果已在亚马逊上发布了应用,请更新并加入适用于亚马逊Fire TV的单独APK。有关更多信息,请参阅使用设备定向

问: 如何确定我的应用是否在亚马逊Fire TV设备上运行?
可以检查amazon.hardware.fire_tv功能。如须查找具体的Fire TV型号,可以检查型号或模式,但须始终包含amazon.hardware.fire_tv功能的回退。欲了解更多信息,请参阅识别亚马逊Fire TV设备
问: 可以将我的应用侧载到亚马逊Fire TV上进行测试吗?
可以。请使用Android调试桥 (ADB)。欲了解更多信息,请参阅开发Fire TV应用和游戏入门
问: 是否有可供开发者使用的亚马逊Fire TV测试设备?
亚马逊不为开发者提供测试设备。

亚马逊Fire TV在亚马逊零售网站上有售。查看商品详情页面,了解特定国家/地区的供货情况。

问: 亚马逊Fire TV支持哪些特定功能?
请参阅设备规格,了解详细的设备和功能规格。Fire TV是基于Android系统的,几乎包含了Android系统的所有功能。一些示例包括DRM、音频/视频编解码器以及DIAL
问: 如何在亚马逊Fire TV上销售我的应用?
要推广您的应用,请参阅开发者促销控制台
问: 在什么情况下应该暂停视频播放,如何实现?
当按下其中一个Fire TV遥控器或亚马逊Fire游戏控制器上的麦克风(语音搜索)或主页按钮时,视频播放将暂停(请参阅遥控输入)。“后退”按钮也会暂停当前活动,并恢复堆栈上的前一个活动,该活动可能是也可能不是您的应用。

要处理暂停行为,在活动中执行onPause()方法(与执行其他Android应用一样)。执行onPause()方法时,请确保已保存用户状态或位置,以便当应用恢复时,用户处于暂停前的相同位置。

此外,媒体应用须满足以下要求:

  • 播放视频的应用应暂停播放,并且必须在暂停时立即释放所有媒体资源(如解码器),因为这些有限的资源是基于硬件的,并且内存有限。详细信息,请参阅释放MediaPlayerMediaPlayer.release
  • 播放音频的应用可在暂停后继续播放,但如有其他应用要求,则必须放弃音频焦点。有关详细信息,请参阅管理音频焦点(Android文档)
问: 我可以在Fire TV应用中使用亚马逊应用内购买API吗?
可以,亚马逊的应用内购买 (IAP) API适用于所有Fire TV设备,以及Fire TV遥控器和游戏控制器。对于网页应用,可以使用App Tester来预览您的交易。
问: 我可以在我的Fire TV应用中使用Amazon Device Messaging (ADM) 吗?
可以使用Amazon Device Messaging接收推送消息和其他数据。
问: 我可以在我的Fire TV应用中使用亚马逊Maps API吗?
亚马逊Fire TV没有定位服务,因此不支持亚马逊Maps API
问: 我可以链接到亚马逊应用商店中我的应用详情页面吗?
是的,亚马逊应用商店提供所有应用的深层链接。有关深层链接的更多信息,请参阅从您的应用中链接到亚马逊。但请注意,您的应用不得提示用户进行评分。用户可从应用的概览屏幕对您的应用进行评分。
问: 如何将屏幕键盘更改为数字键盘?
可以使用标准的Android机制为所有EditText小部件配置IME(输入法编辑器)。在XML中,使用android:inputType="number"
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/edittext"
android:inputType="number"/>
问: 如何在亚马逊Fire TV上截图?
更多详细信息,请参阅在Fire设备上截图
问: 我的应用使用Google的应用内购买。它能在亚马逊Fire TV上运行吗?
您不能使用Google IAP,但亚马逊IAP有并行的API,可以帮助您在数小时内启动和运行。更多详细信息,请参阅Fire TV开发与Android TV开发有何不同
问: 在德国和/或奥地利为亚马逊Fire TV或Fire TV Stick推广应用时,是否有其他要求?
是。​如果相关应用允许将任何类型的视频或音频内容进行复制、录制、下载、存储到亚马逊Fire TV或Fire TV Stick设备、任何SD存储卡或任何连接的外部存储(如适用)上,或者执行类似操作,我们不允许在德国和/或奥地利的亚马逊Fire TV或Fire TV Stick上推广该应用。如果我们确定某个应用包含此功能,我们将不会让该应用出现在德国和/或奥地利。

Fire OS

问: Fire OS是否支持Android TV和v17 Leanback库?
Fire OS 5到Fire OS 7同时支持Android TV功能和Leanback库。但不支持使用Leanback库的SearchFragment类进行语音识别。更多详细信息,请参阅在Fire TV中实现搜索

媒体和DRM

问: Fire TV支持哪些第三方媒体播放器SDK?
我们支持将Amazon ExoPlayer端口用于Fire TV。
问: 通过什么选项来实现使用Microsoft PlayReady DRM加密的媒体的播放功能?
亚马逊Fire TV支持用来播放受保护媒体的Android MediaCrypto类,您也可以使用支持PlayReady的第三方媒体播放器SDK。须了解哪些Fire TV设备支持哪些版本的PlayReady,请参阅Fire TV设备规格中的媒体规格表。
问: 亚马逊Fire TV是否支持使用加密音频的PlayReady内容?
Fire TV支持包含加密视频和明文(非加密)音频的PlayReady内容。此外,还支持Widevine DRM。更多详细信息,请参阅Fire TV设备规格。如果需要播放包含加密音频和视频的内容,请联系我们
问: 如何在Fire TV设备上解码Dolby Digital音频?
Fire TV和Fire TV Stick均包含Dolby Digital (AC3) 和Dolby Digital Plus (eAC3) 的解码器。Fire TV(第3代)还支持Dolby Atmos (EC3_JOC)。您应该可以使用标准的Android媒体播放器库播放这些格式。请注意,Fire TV设备不支持(或不需要)适用于亚马逊Fire平板电脑的DolbyAudioProcessing SDK。有关播放杜比内容的更多信息,请参阅Dolby集成指南
问: 是否所有设备都支持安全启动以验证固件和操作系统?
是。
问: 操作系统是否强制执行应用的签名检查?
是。​
问: 输出HDCP是否受HDMI上的安全通道保护?
是。​
问: 亚马逊Fire TV是否支持隐藏式字幕 (CEA-708) ?
Fire TV支持操作系统级隐藏式字幕。媒体应用负责并且必须实现UI,使观看者能够通过第三方媒体播放SDK或他们自己的操作来定制字幕。

如果您使用的是Amazon ExoPlayer端口,请注意,4K流 (DASH) 的字幕样式通过ExoPlayer的嵌入式样式处理。如要忽略嵌入样式,可以使用playerView.subtitleView.setApplyEmbeddedStyles(false)。但是,请查阅ExoPlayer论坛了解更多信息,因为这是ExoPlayer的问题,而不是亚马逊的问题。

问: 亚马逊Fire TV上有哪些字体可用于隐藏式字幕?
亚马逊Fire TV包含许多字体,这些字体已经包含在系统中。

媒体播放

问: 媒体播放节省资源和内存的最佳实践是什么?
由于亚马逊Fire TV的媒体播放资源基于硬件且受内存限制,因此您的应用必须运行良好,并在退出和发生错误时释放媒体资源。有关处理音频焦点和媒体播放的详细信息,请参阅管理音频焦点Fire TV上多媒体应用的要求。还可以遵照Android文档中更详细的指南进行操作:
问: 我的应用在后台播放音乐。当我的应用暂停时,音频为什么停止播放? 或者当我的应用启动时,为什么来自另一个应用的音频继续播放?
您的应用未正确管理音频焦点。应用开始播放时,应同时请求音频焦点和注册媒体按钮事件。应用放弃音频焦点时(因为您已完成播放或因为其他应用请求了音频焦点),也须从媒体按钮事件中取消注册。具体来说:

更多详细信息,请参阅以下内容:

问: 为什么我的音乐应用在后台播放时不断地被随机终止?
将音乐播放应用作为前台服务运行。当资源不足时,系统会自动关闭后台服务(默认设置)。有关详细信息,请参阅MediaPlayer概览Service类中的startForeground()方法的Android指南。
问: 电视机被关闭/与HDMI线缆断开怎么办?
音频和视频的HDMI断开预期行为不同。详细信息,请参阅处理HDMI事件
问: 在媒体播放过程中,如何防止设备进入待机或白日梦模式(屏保)?
要在媒体播放期间让亚马逊Fire TV和电视机保持唤醒状态,请为活动设置KEEP_SCREEN_ON标记,或从电源管理器获取唤醒锁。如果您的应用未主动播放音频或视频,则必须释放所有唤醒锁,以便设备和电视机都可以进入睡眠状态和省电模式。有关如何使用唤醒锁的详细信息,请参阅PowerManagerPowerManager.WakeLock类。
问: 如何检测设备何时进入白日梦模式(屏保打开)?
白日梦模式是一个Android功能。亚马逊Fire TV进入白日梦模式后,如果电视已打开,则会显示屏保。注册Intent.ACTION_DREAMING_STARTEDIntent.ACTION_DREAMING_STOPPED以检测设备何时进入或退出白日梦模式。
问: 我可以使用Android WebView和<video> HTML标签进行视频播放吗?
可以,但有限制。您的应用暂停或停止后,系统当前不会释放硬件媒体资源。要解决此问题,请执行onStop()方法来显式停止应用的进程:
public void onStop() {super.onStop();android.os.Process.killProcess(android.os.Process.myPid());}

此问题还可能导致应用的用户体验和导航不稳定。在设备上播放媒体,建议使用第三方媒体播放器SDK。
问: 我可以在我的应用中播放4K超高清视频吗?
可以,部分Fire TV设备能够连接到支持4K的电视机,播放4K超高清视频。但其他Fire TV设备无法播放。有关支持4K的设备详情,请参阅Fire TV设备规格。播放4K内容之前,检查您的应用中:(1) Fire TV设备是否支持4K,(2) 连接的电视是否支持4K。亚马逊4K扩展库可帮助您为Fire TV第2代设备实现4K模式切换。

控制器

问: 亚马逊Fire TV游戏控制器没有像以前版本那样的媒体按钮。如何处理媒体播放?
亚马逊Fire TV为摇杆按压(播放/暂停)以及左(倒回)和右(快进)侧肩按钮 (L1/R1) 生成媒体输入事件。如果未在应用或游戏中使用这些按钮,请确保没有捕获或丢弃这些按钮事件,这样用户就可以在后台控制媒体播放。

如果将亚马逊Fire游戏控制器上的媒体按钮在应用中用于其他用途,则新亚马逊Fire游戏控制器的用户在没有这些按钮的情况下就无法使用该功能。更新应用,使按钮可通用于两个游戏控制器,并更新屏幕上的提示。

问: 如何通过亚马逊Fire TV游戏控制器管理音量控制?
除Fire TV(第3代)外,其他Fire TV设备可以将音频流传输到亚马逊Fire游戏控制器上的耳机插孔(仅限当前一代控制器)。左右触发按钮 (L2/R2) 用于控制音量。
音量控制是一种系统功能,无法映射到应用中的其他按钮。但是,如果未在应用或游戏中使用触发按钮,请确保不要捕获或丢弃这些按钮事件,以便用户可以控制后台的播放媒体。
问: 我可以在应用中覆盖Fire TV语音遥控器上的麦克风按钮吗?
“麦克风”按钮启动系统范围的语音功能(请求瞬时音频焦点),无法覆盖。您的应用须处理此音频焦点变更事件 (AUDIOFOCUS_LOSS_TRANSIENT) 以及其他音频焦点变更事件(AUDIOFOCUS_LOSSAUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK),因为任何应用(不仅仅是语音)都可能会请求任何类型的音频焦点。简而言之,应适当处理所有音频焦点使用情形。更多详细信息,请参阅管理音频焦点
问: “菜单”按钮有什么作用,可否在我的应用中将其覆盖?
默认情况下,“菜单”按钮调用Android上下文菜单,该菜单显示为屏幕中心的菜单项列表。可以覆盖菜单按钮以提供自己的自定义菜单用户界面,或用于任何其他目的。
如果您只有一个菜单项,请考虑使用“菜单”按钮进行简单的切换(如打开或关闭隐藏式字幕),并提供屏幕提示以向用户展示该功能。
问: 当控制器连接、断开或休眠时,为什么我的活动会从头始?
这些事件由Android系统作为运行时配置更改来处理。要忽略应用中的这些事件,请修改您的AndroidManifest.xml以包含android:configChanges属性,并包含keyboardkeyboardHiddennavigation键:
<activity android:name="MyActivity"android:configChanges="keyboard|keyboardHidden|navigation">

有关configChanges属性以及如何在应用中处理运行时配置更改,请参阅Android指南处理配置变更
问: 我的应用或游戏中的游戏控制器连接断开怎么办?
如果亚马逊Fire游戏控制器处于空闲状态,或者其中任一操纵杆在某个角度保持超过5分钟,则亚马逊Fire游戏控制器可能会断开与系统的连接,以节省电池电量。当处于空闲状态或电池电量耗尽时,其他控制器也可能断开连接。使用Android OnInputDeviceRemoved侦听器来处理控制器断开连接事件。考虑暂停游戏或显示一个对话框,让用户知道控制器不再可用。

Fire TV Stick

问: 亚马逊Fire TV和Fire TV Stick有何区别?
Fire TV设备规格列出了所有Fire TV设备的规格。
问: 如何调整我的亚马逊Fire TV应用,使其适用于Fire TV Stick?
亚马逊Fire TV和Fire TV Stick运行相同的Fire OS(见Fire OS概述)。但一些较旧Fire TV Stick更受硬件限制,因此,优化应用的性能和稳定性可能是至关重要的。请确保遵循Android在硬件加速性能方面的最佳实践。特别注意OpenGL和纹理。有关每一Fire TV设备规格的具体信息,请参阅Fire TV设备规格
问: 如何以编程方式识别Fire TV Stick设备?
可以检查功能amazon.hardware.fire_tv以识别所有Fire TV设备。要查找Fire TV Stick,可以检查型号AFTMAFTT。欲了解更多信息,请参阅识别亚马逊Fire TV设备
问: 应用中的一些图像/背景没有显示,或者只显示灰框。
这通常是由位图图像或纹理过大导致的。Fire TV Stick支持最高2048x2048的纹理。如果应用出现此问题,您可能会在日志中看到如下错误:
W/OpenGLRenderer( 8941): Bitmap too large to be uploaded in a texture (3840x2160, max=2048x2048)

此外,请确保您的Fire TV的图像位于drawables-xhdpi/文件夹,而不是drawables/中。可绘制对象的缩放可能会导致超出纹理限制的大图像。


Last updated: 2025年8月8日