我正在开发一个Android应用程序,我想在用户播放音乐时启用锁屏媒体控件。出于某种原因,当显示锁屏小部件时,不会调用OnGetPlaybackPositionListener()回调,而是锁屏小组始终假定进度为0(然后猜测从该点到下一个暂停/播放的进度)。所以基本上每次你暂停它都会开始b / c的进度,它总是得到0。
我在我的代码中放了一个日志,它永远不会被记录,让我觉得有些事情正在发生(或者我没有做某事),所以我的回调没有正确注册。伪码在下面,任何人都有任何想法请告诉我......
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
mRemoteControlClient.setOnGetPlaybackPositionListener(new RemoteControlClient.OnGetPlaybackPositionListener() {
@Override
public long onGetPlaybackPosition() {
UpLog.d(TAG, "Position = " + mContinuousPlaybackPosition);
if (mMediaPlayer == null) {
return -1;
}
if (!isErrorState() && getMediaPlayerState() != PlaybackState.UNKNOWN) {
return mLastKnownPosition;
}
return -1;
}
});