我正在尝试使用 RemoteControlClient 类来支持我的应用程序的锁屏播放器。一个问题是设置传输控制标志似乎无法正常工作。
例如,我试图只显示播放/停止图标,而不显示上一个/下一个:
mRemoteControlClient.setTransportControlFlags(
RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE |
RemoteControlClient.FLAG_KEY_MEDIA_STOP);
这显示了上一个图标和暂停图标!为什么?
更糟糕的是,当按下停止/播放按钮时,您只会收到KEYCODE_MEDIA_PLAY_PAUSE
当你应该得到KEYCODE_MEDIA_STOP
or KEYCODE_MEDIA_PLAY
.
如果我发现我这样做是正确的,那么 Android 端的开发很糟糕,这会令人沮丧。
由于 Android 中的错误,FLAG_KEY_MEDIA_STOP 永远不会显示停止,如下所示:https://code.google.com/p/android/issues/detail?id=29920 https://code.google.com/p/android/issues/detail?id=29920
如果您使用 PLAY_PAUSE 标志,则不应产生 KEYCODE_MEDIA_STOP 事件。为什么会这样?
这是一个播放/暂停切换操作,可以实现其预期的目的。由您的应用程序来存储媒体播放器的状态。
如果我正确理解文档,则仅当您使用标志 FLAG_KEY_MEDIA_PLAY 和 FLAG_KEY_MEDIA_PAUSE 时,您才能获得 KEYCODE_MEDIA_PLAY 或 KEYCODE_MEDIA_PAUSE 。
但 Android 可能很“聪明”,并将其翻译为切换开关。
对此我不确定。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)