Automotive开发者参考
Automotive开发者参考
以下工具可以帮助您实现一些Automotive特有的功能。
开发者工具和提示
触摸模式
注意: 有关如何在Fire TV上实现触摸的详细信息,请参阅为Fire TV添加触摸。
用户触摸设备后,就会进入触摸模式。以下工具用于使用触摸模式进行交互。
检测触摸模式
Android提供了多种检测触摸模式的方法:
-
View.IsInTouchMode()
- 此方法属于View类,可以判断设备当前是否处于触摸模式。 focusableInTouchMode:false
- 此属性对于任何查看状态都可以通过XML来设置,也可以通过setFocusableInTouchMode (false)
方法来设置。ViewTreeObserver.OnTouchModeChangeListener
- Android提供了用于侦听触摸模式来回变化情况的API,如有需要,可用于更改UI。
侦听触摸模式变化
以下是侦听触摸模式更改的方法:
view.getViewTreeObserver().addOnTouchModeChangeListener(
new ViewTreeObserver.OnTouchModeChangeListener() {
@Override
public void onTouchModeChanged(boolean b) {
// 关于触摸模式变化
}
});
颜色选项
您可以根据查看状态来选择不同的颜色。提供了以下查看状态:
- 已激活
- 已聚焦
- 已选择
其他开发者提示
- 用户在该应用中下载某个项目后,即可通过Automotive SDK将此信息传递至新的Fire TV Downloader应用(见下一部分所述)。这是为了在Fire TV UI(应用外部)中显示内容,以便轻松访问内容并提升应用的用户参与度。
- 用户在应用中删除已下载项目后,通过该SDK向Fire TV传递此信息,这样客户就不会再在Fire TV UI(应用外部)中看到此项目。
- 用户在RSE(后排座椅娱乐系统)上使用API开始/暂停/继续/停止播放某个项目时,更新当前正在播放的项目和播放状态。
Automotive SDK实现
应用开发者可以使用Automotive SDK来集成Fire TV家庭版无法提供的Automotive功能。这些功能包括:
- 在Fire TV UI中发布/管理已下载的内容
- 更新前排座椅控制系统的播放状态
下载项目
添加已下载项目
可以使用addDownloadedItem
方法添加下载项:
/**
* 完成项目下载之后,
* 使用此方法可向设备下载项中添加已下载的项目。
*
* @param downloadedItem - 已下载项目的媒体元数据对象
* @param launchIntent - 启动已下载项目的Intent
* @param deleteIntent - 从设备下载项中删除已下载项目的Intent。
* 此Intent启动之后,
* 应从设备应上删除已下载的项目
*/
public void addDownloadedItem (MediaMetadata downloadedItem,
Intent launchIntent, Intent deleteIntent)
参数 | 描述 |
---|---|
MediaMetadata downloadedItem |
显示下载项行/前排座椅控制系统/下载管理页面中的详细信息。其中包括:
|
launchIntent |
从下载项行/前排座椅控制系统/下载管理页面中启动项目。可以启动应用内详情页面或播放器。 |
deleteIntent |
将已下载项目从应用中移除(下载项行/下载管理页面中的快捷菜单项)。 |
移除下载项目
removeDownloadedItem
可以帮您移除已下载项目:
/**
* 从应用中删除某个已下载项目后,
* 使用此方法从设备下载项中删除该项目。
*
* @param itemId - 用于标识已下载项目的ID
*/
public void removeDownloadedItem (String itemId)
项目ID(itemId
)用于标识要从下载项行/前排座椅控制系统/下载管理页面中删除的项目。
更新播放状态
使用updatePlaybackStatus
方法来更新播放应用的播放状态:
/**
* 使用此方法来更新此设备上当前播放的媒体
*
* @param metadata - 当前播放内容的MediaMetadata对象
* @param state - 内容的当前播放状态
* @param currentPlaybackTime - 当前播放时间
*/
public void updatePlaybackStatus (MediaMetadata metadata,
PlaybackState state, long currentPlaybackTime)
参数 | 描述 |
---|---|
MediaMetadata metadata |
显示前排座椅控制系统的详细信息。这些详细信息可能包括:
|
PlaybackState state |
提供以下播放状态: 播放中、已暂停、已停止和已开始。 |
currentPlaybackTime |
当前播放时间。 |