使用媒体通知
This commit is contained in:
@@ -551,32 +551,30 @@ class AudioPlayService : BaseService(),
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun createNotification(): NotificationCompat.Builder {
|
private fun createNotification(): NotificationCompat.Builder {
|
||||||
var nTitle: String = when {
|
val nTitle: String = when {
|
||||||
pause -> getString(R.string.audio_pause)
|
pause -> getString(R.string.audio_pause)
|
||||||
timeMinute in 1..60 -> getString(
|
timeMinute in 1..60 -> getString(R.string.playing_timer, timeMinute)
|
||||||
R.string.playing_timer,
|
|
||||||
timeMinute
|
|
||||||
)
|
|
||||||
|
|
||||||
else -> getString(R.string.audio_play_t)
|
else -> getString(R.string.audio_play_t)
|
||||||
}
|
} + ": ${AudioPlay.book?.name}"
|
||||||
nTitle += ": ${AudioPlay.book?.name}"
|
|
||||||
var nSubtitle = AudioPlay.durChapter?.title
|
val nSubtitle = AudioPlay.durChapter?.title ?: getString(R.string.audio_play_s)
|
||||||
if (nSubtitle.isNullOrEmpty()) {
|
|
||||||
nSubtitle = getString(R.string.audio_play_s)
|
val builder = NotificationCompat.Builder(this@AudioPlayService, AppConst.channelIdReadAloud)
|
||||||
}
|
|
||||||
val builder = NotificationCompat
|
|
||||||
.Builder(this@AudioPlayService, AppConst.channelIdReadAloud)
|
|
||||||
.setSmallIcon(R.drawable.ic_volume_up)
|
.setSmallIcon(R.drawable.ic_volume_up)
|
||||||
.setSubText(getString(R.string.audio))
|
.setSubText(getString(R.string.audio))
|
||||||
.setOngoing(true)
|
.setOngoing(true)
|
||||||
.setOnlyAlertOnce(true)
|
.setOnlyAlertOnce(true)
|
||||||
.setContentTitle(nTitle)
|
.setContentTitle(nTitle)
|
||||||
.setContentText(nSubtitle)
|
.setContentText(nSubtitle)
|
||||||
.setContentIntent(
|
.setContentIntent(activityPendingIntent<AudioPlayActivity>("activity"))
|
||||||
activityPendingIntent<AudioPlayActivity>("activity")
|
.setLargeIcon(cover)
|
||||||
|
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
|
||||||
|
.setStyle(
|
||||||
|
androidx.media.app.NotificationCompat.MediaStyle()
|
||||||
|
.setShowActionsInCompactView(0, 1, 2)
|
||||||
|
.setMediaSession(mediaSessionCompat?.sessionToken)
|
||||||
)
|
)
|
||||||
builder.setLargeIcon(cover)
|
|
||||||
if (pause) {
|
if (pause) {
|
||||||
builder.addAction(
|
builder.addAction(
|
||||||
R.drawable.ic_play,
|
R.drawable.ic_play,
|
||||||
@@ -590,6 +588,7 @@ class AudioPlayService : BaseService(),
|
|||||||
servicePendingIntent<AudioPlayService>(IntentAction.pause)
|
servicePendingIntent<AudioPlayService>(IntentAction.pause)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
builder.addAction(
|
builder.addAction(
|
||||||
R.drawable.ic_stop_black_24dp,
|
R.drawable.ic_stop_black_24dp,
|
||||||
getString(R.string.stop),
|
getString(R.string.stop),
|
||||||
@@ -600,12 +599,7 @@ class AudioPlayService : BaseService(),
|
|||||||
getString(R.string.set_timer),
|
getString(R.string.set_timer),
|
||||||
servicePendingIntent<AudioPlayService>(IntentAction.addTimer)
|
servicePendingIntent<AudioPlayService>(IntentAction.addTimer)
|
||||||
)
|
)
|
||||||
builder.setStyle(
|
|
||||||
androidx.media.app.NotificationCompat.MediaStyle()
|
|
||||||
.setShowActionsInCompactView(0, 1, 2)
|
|
||||||
.setMediaSession(mediaSessionCompat?.sessionToken)
|
|
||||||
)
|
|
||||||
builder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
|
|
||||||
return builder
|
return builder
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1241,8 +1241,8 @@
|
|||||||
<string name="firebase_enable_summary">允许应用使用Google Firebase进行崩溃和性能统计</string>
|
<string name="firebase_enable_summary">允许应用使用Google Firebase进行崩溃和性能统计</string>
|
||||||
<string name="locate_current">定位至当前</string>
|
<string name="locate_current">定位至当前</string>
|
||||||
<string name="padding_display_cutouts">填充刘海区域</string>
|
<string name="padding_display_cutouts">填充刘海区域</string>
|
||||||
<string name="system_media_control_compatibility_change">系统媒体控件兼容性更改</string>
|
<string name="system_media_control_compatibility_change">使用媒体通道</string>
|
||||||
<string name="system_media_control_compatibility_change_summary">当锁屏不显示系统媒体控件时可以尝试开启,比如 OneUI 7.0或 OriginOS 等</string>
|
<string name="system_media_control_compatibility_change_summary">使用OEM厂商提供的媒体通道,可能解决一些通知无法显示的问题</string>
|
||||||
<string name="read_aloud_pause_resume">朗读暂停/继续</string>
|
<string name="read_aloud_pause_resume">朗读暂停/继续</string>
|
||||||
<string name="play_mode">播放模式</string>
|
<string name="play_mode">播放模式</string>
|
||||||
<string name="tabletInterface">平板界面</string>
|
<string name="tabletInterface">平板界面</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user