Próbuję użyć klasy RemoteControlClient do obsługi odtwarzacza ekranu blokady z moją aplikacją. Jednym problemem jest to, że ustawienie flag sterujących transportem wygląda na to, że nie działają poprawnie.Android 4.x RemoteControlClient.setTransportControlFlags() nie działa?
Na przykład staram się po prostu pokazać się ikona PLAY/STOP nie wstecz/dalej:
mRemoteControlClient.setTransportControlFlags(
RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE |
RemoteControlClient.FLAG_KEY_MEDIA_STOP);
To pokazuje poprzednią ikonę i wstrzymać ikonę! Czemu?
Aby jeszcze bardziej pogorszyć sytuację po naciśnięciu przycisku stop/play, otrzymujesz tylko KEYCODE_MEDIA_PLAY_PAUSE
, gdy powinieneś uzyskać KEYCODE_MEDIA_STOP
lub KEYCODE_MEDIA_PLAY
.
Jest to frustrujące, słabe opracowanie po stronie Androida, jeśli dowiem się, że robię to poprawnie.
zauważyłem ten sam problem z poprzedniego przycisku, a nie wydaje się być sposób wokół niego. W przypadku FLAG_KEY_MEDIA_PLAY_PAUSE, FLAG_KEY_MEDIA_STOP i KEYCODE_MEDIA_PLAY, wydaje się, że FLAG_KEY_MEDIA_PLAY_PAUSE jest zawsze używana bez względu na to, co określisz. Należy się jednak spodziewać otrzymania KEYCODE_MEDIA_PLAY_PAUSE z FLAG_KEY_MEDIA_PLAY_PAUSE. Jeśli działało tak, jak powinno, musisz podać FLAG_KEY_MEDIA_PLAY, aby odebrać KEYCODE_MEDIA_PLAY. –
Zobacz niewłaściwe przyciski multimediów na stronie http://code.google.com/p/android/issues/detail?id=29920. – svenmeier
Dzięki za adres URL błędu. – Jona