我正在做一个旧项目。因此,我不得不对成功构建的gradle进行一些更改,只是音频java文件无法正常工作。我收到此错误:“无法将以媒体样式设置媒体会话(android.media.session.MediaSession.Token)应用于(android.support.v4.Media.Mediasessioncompat.Token)”,然后投射了MediaSession。但是我仍然在为“ expected')'”这个错误而苦苦挣扎。 请检查以下代码:
java中的音频文件:第一个通知
if (mPausedNotificationBuilder == null) {
mPausedNotificationBuilder = new NotificationCompat.Builder(appContext);
mPausedNotificationBuilder
.setSmallIcon(R.drawable.ic_notification)
.setColor(mNotificationColor)
.setOngoing(true)
.setContentTitle(getString(R.string.app_name))
.setContentIntent(pi)
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.addAction(R.drawable.ic_play, getString(R.string.play), resumeIntent)
.addAction(R.drawable.ic_stop, getString(R.string.stop), stopIntent)
.setShowWhen(false)
.setWhen(0)
.setLargeIcon(mNotificationIcon)
.setStyle(
new Notification.MediaStyle()
.setShowActionsInCompactView(0, 1)
.setMediaSession((MediaSession.Token) mMediaSession.getMediaSession());
}
错误在最后一个分号“ getMediaSession());”中
java中的音频文件:第二通知
enter code here if (mNotificationBuilder == null) {
mNotificationBuilder = new NotificationCompat.Builder(appContext);
mNotificationBuilder
.setSmallIcon(R.drawable.ic_notification)
.setColor(mNotificationColor)
.setOngoing(true)
.setContentTitle(getString(R.string.app_name))
.setContentIntent(pi)
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.addAction(R.drawable.ic_previous, getString(R.string.previous), previousIntent)
.addAction(R.drawable.ic_pause, getString(R.string.pause), pauseIntent)
.addAction(R.drawable.ic_next, getString(R.string.next), nextIntent)
.setShowWhen(false)
.setWhen(0) // older platforms seem to ignore setShowWhen(false)
.setLargeIcon(mNotificationIcon)
.setStyle(
new Notification.MediaStyle()
.setShowActionsInCompactView(0, 1, 2)
.setMediaSession((MediaSession.Token) mMediaSession.getMediaSession());
}
错误在最后一个分号“ getMediaSession());”中
这是build.gradle文件(模块)
再次感谢您的帮助。
答案 0 :(得分:2)
您没有关闭.setStyle
上的括号。应该是:
.setStyle(
new Notification.MediaStyle()
.setShowActionsInCompactView(0, 1, 2)
.setMediaSession((MediaSession.Token) mMediaSession.getMediaSession())
);
这就是为什么它说expected ')'
。
答案 1 :(得分:0)
.setStyle( // <- this one is not closed
new Notification.MediaStyle()
.setShowActionsInCompactView(0, 1)
.setMediaSession((MediaSession.Token) mMediaSession.getMediaSession());
您需要为.setStyle(
添加右括号
因此您的代码应类似于:
.setStyle(
new Notification.MediaStyle()
.setShowActionsInCompactView(0, 1)
.setMediaSession((MediaSession.Token) mMediaSession.getMediaSession())
);
答案 2 :(得分:0)
.setStyle(+1
new Notification.MediaStyle()
.setShowActionsInCompactView(0, 1)
.setMediaSession(+2(MediaSession.Token) mMediaSession.getMediaSession(+3)-3)-2;
我添加了一个括号。好像您错过了最后一个。