Merge pull request #4099 from tick-guo/master
fix #4090 android 14 can not show play control in lock screen
This commit is contained in:
@@ -14,6 +14,7 @@ import android.os.Bundle
|
|||||||
import android.os.PowerManager
|
import android.os.PowerManager
|
||||||
import android.support.v4.media.session.MediaSessionCompat
|
import android.support.v4.media.session.MediaSessionCompat
|
||||||
import android.support.v4.media.session.PlaybackStateCompat
|
import android.support.v4.media.session.PlaybackStateCompat
|
||||||
|
import android.util.Log
|
||||||
import androidx.annotation.CallSuper
|
import androidx.annotation.CallSuper
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
@@ -482,6 +483,24 @@ abstract class BaseReadAloudService : BaseService(),
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val isVivoDevice: Boolean by lazy {
|
||||||
|
android.os.Build.MANUFACTURER.equals(
|
||||||
|
"vivo",
|
||||||
|
ignoreCase = true
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun ChoiceMediaStyle(): androidx.media.app.NotificationCompat.MediaStyle {
|
||||||
|
//Log.d(TAG, "isVivoDevice=$isVivoDevice")
|
||||||
|
val type = androidx.media.app.NotificationCompat.MediaStyle()
|
||||||
|
.setShowActionsInCompactView(0, 1, 2)
|
||||||
|
if (isVivoDevice) {
|
||||||
|
//fix #4090 android 14 can not show play control in lock screen
|
||||||
|
type.setMediaSession(mediaSessionCompat.sessionToken)
|
||||||
|
}
|
||||||
|
return type
|
||||||
|
}
|
||||||
|
|
||||||
private fun createNotification(): NotificationCompat.Builder {
|
private fun createNotification(): NotificationCompat.Builder {
|
||||||
var nTitle: String = when {
|
var nTitle: String = when {
|
||||||
pause -> getString(R.string.read_aloud_pause)
|
pause -> getString(R.string.read_aloud_pause)
|
||||||
@@ -537,10 +556,7 @@ abstract class BaseReadAloudService : BaseService(),
|
|||||||
getString(R.string.set_timer),
|
getString(R.string.set_timer),
|
||||||
aloudServicePendingIntent(IntentAction.addTimer)
|
aloudServicePendingIntent(IntentAction.addTimer)
|
||||||
)
|
)
|
||||||
builder.setStyle(
|
builder.setStyle(ChoiceMediaStyle())
|
||||||
androidx.media.app.NotificationCompat.MediaStyle()
|
|
||||||
.setShowActionsInCompactView(0, 1, 2)
|
|
||||||
)
|
|
||||||
return builder
|
return builder
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user