Android 汽车媒体应用 - 如何更改自定义操作图标
Android Auto media app - How to change custom action icon
我正在开发 Android 汽车媒体应用程序,目前正在创建一些自定义操作。
我创建了一个自定义操作来设置播放器重复模式,并且我使用的是 Exoplayer 图标,它运行良好。
但是,现在我正在处理一个自定义操作来切换随机播放模式。我创建了 2 个矢量可绘制对象作为图标,两者之间的区别只是颜色(启用白色,禁用灰色)。
private inner class ShuffleModeActionProvider : MediaSessionConnector.CustomActionProvider {
override fun getCustomAction(player: Player): PlaybackStateCompat.CustomAction? {
val actionLabel: CharSequence = "Shuffle Mode"
val iconResourceId: Int = if (player.shuffleModeEnabled) {
R.drawable.ic_shuffle_on
} else {
R.drawable.ic_shuffle_off
}
return PlaybackStateCompat.CustomAction.Builder(ACTION_SHUFFLE_MODE, actionLabel, iconResourceId).build()
}
override fun onCustomAction(player: Player, action: String, extras: Bundle?) {
player.shuffleModeEnabled = !player.shuffleModeEnabled
}
}
当我测试它时,它只显示 ic_shuffle_on,白色图标。该按钮正在工作,并且正在随机播放播放列表,但图标没有改变。如果我打印 iconResourceId,它会在两个图标 ID 之间变化,但视觉显示仍然只显示白色。
Android Auto 是否有人遇到过类似问题?
谢谢。
在与这些自定义操作图标斗争了很长时间之后,我终于能够让它工作了。
显然,DHU 无法立即识别创建的自定义图标。因此,每次我添加新图标时,DHU 都会随机显示与我创建的图标不匹配的图标。
我试过从手机上卸载应用程序,也重新启动DHU,但即使它不能识别新图标。
我让它工作的唯一方法是按照以下步骤操作:
- 关闭 DHU 如果是 运行
- 如果您的手机安装了该应用程序,请将其卸载
- 停止手机主机服务器
- 重启手机
- 安装应用程序
- 启动主机服务器
- 运行您电脑中的DHU
完成这一步后,DHU 能够识别出有新的自定义图标,并相应地更新显示。
我尝试了多种方法,包括但按顺序执行这些步骤是我让它起作用的唯一方法。如果您遇到同样的问题并找到其他解决方法,请告诉我!
我正在开发 Android 汽车媒体应用程序,目前正在创建一些自定义操作。 我创建了一个自定义操作来设置播放器重复模式,并且我使用的是 Exoplayer 图标,它运行良好。 但是,现在我正在处理一个自定义操作来切换随机播放模式。我创建了 2 个矢量可绘制对象作为图标,两者之间的区别只是颜色(启用白色,禁用灰色)。
private inner class ShuffleModeActionProvider : MediaSessionConnector.CustomActionProvider {
override fun getCustomAction(player: Player): PlaybackStateCompat.CustomAction? {
val actionLabel: CharSequence = "Shuffle Mode"
val iconResourceId: Int = if (player.shuffleModeEnabled) {
R.drawable.ic_shuffle_on
} else {
R.drawable.ic_shuffle_off
}
return PlaybackStateCompat.CustomAction.Builder(ACTION_SHUFFLE_MODE, actionLabel, iconResourceId).build()
}
override fun onCustomAction(player: Player, action: String, extras: Bundle?) {
player.shuffleModeEnabled = !player.shuffleModeEnabled
}
}
当我测试它时,它只显示 ic_shuffle_on,白色图标。该按钮正在工作,并且正在随机播放播放列表,但图标没有改变。如果我打印 iconResourceId,它会在两个图标 ID 之间变化,但视觉显示仍然只显示白色。
Android Auto 是否有人遇到过类似问题?
谢谢。
在与这些自定义操作图标斗争了很长时间之后,我终于能够让它工作了。 显然,DHU 无法立即识别创建的自定义图标。因此,每次我添加新图标时,DHU 都会随机显示与我创建的图标不匹配的图标。 我试过从手机上卸载应用程序,也重新启动DHU,但即使它不能识别新图标。
我让它工作的唯一方法是按照以下步骤操作:
- 关闭 DHU 如果是 运行
- 如果您的手机安装了该应用程序,请将其卸载
- 停止手机主机服务器
- 重启手机
- 安装应用程序
- 启动主机服务器
- 运行您电脑中的DHU
完成这一步后,DHU 能够识别出有新的自定义图标,并相应地更新显示。
我尝试了多种方法,包括但按顺序执行这些步骤是我让它起作用的唯一方法。如果您遇到同样的问题并找到其他解决方法,请告诉我!