Sorry, I know this is an old post but I'm having the same issue with Poweramp in my Kia. Using the steering wheel controls, "Next track" (up) and "Previous Track" (down) work correctly. However, "Fast Forward" (holding up) advances to the next track before forwarding kicks in, and "Rewind" (holding down) jumps back two tracks before rewinding kicks in. This used to work as expected (Fast forwarding and rewinding was to the currently playing track) and my car/head unit software hasn't been updated since so some update to Android Sytem/Android Auto/Poweramp broke this.
Here's my "Last Processed Commands" output:
Next Track (up, single press)
==================
09:48:15.088 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_NEXT ACTION_DOWN A2dpOn isAvrcp flags=0x4 playerState=1
==================
09:48:15.114 PlayerService NEXT
from PSMediaButtonReceiver
==================
09:48:15.266 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_NEXT ACTION_UP A2dpOn isAvrcp flags=0x4 playerState=1
Fast Forward (hold up, then release)
==================
09:49:02.453 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_NEXT ACTION_DOWN A2dpOn isAvrcp flags=0x4 playerState=1
==================
09:49:02.495 PlayerService NEXT
from PSMediaButtonReceiver
==================
09:49:02.997 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_NEXT ACTION_DOWN A2dpOn isAvrcp flags=0x84 playerState=1
==================
09:49:03.000 PlayerService BEGIN_FAST_FORWARD
from PSMediaButtonReceiver
==================
(after releasing button)
09:49:04.846 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_NEXT ACTION_UP A2dpOn isAvrcp flags=0x4 playerState=1
==================
09:49:04.859 PlayerService END_FAST_FORWARD
from PSMediaButtonReceiver
Previous Track/Reset current track (down, single press)
==================
09:50:08.710 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PREVIOUS ACTION_DOWN A2dpOn isAvrcp flags=0x4 playerState=1
==================
09:50:08.754 PlayerService PREVIOUS
from PSMediaButtonReceiver
==================
09:50:08.870 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PREVIOUS ACTION_UP A2dpOn isAvrcp flags=0x4 playerState=1
Rewind (hold down, then release)
==================
09:50:38.004 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PREVIOUS ACTION_DOWN A2dpOn isAvrcp flags=0x4 playerState=1
==================
09:50:38.049 PlayerService PREVIOUS
from PSMediaButtonReceiver
==================
09:50:38.501 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PREVIOUS ACTION_DOWN A2dpOn isAvrcp flags=0x84 playerState=1
==================
09:50:38.506 PlayerService BEGIN_REWIND
from PSMediaButtonReceiver
==================
(after releasing button)
09:50:41.096 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PREVIOUS ACTION_UP A2dpOn isAvrcp flags=0x4 playerState=1
==================
09:50:41.099 PlayerService END_FAST_FORWARD
from PSMediaButtonReceiver