在Android 11中,Google已经改变了通知媒体控制器在锁屏界面上的默认行为。如果你的应用程序需要在锁屏界面上显示媒体控制器,则需要将以下内容添加到应用程序的清单文件中:
接下来,需要在相应的活动中设置FLAG_SHOW_WHEN_LOCKED
标志,以确保在锁定屏幕上显示媒体控制器。例如,在Activity的onCreate
方法中添加以下代码:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
最后,在通知中使用setMediaSession
方法来将媒体控制器链接到通知。例如:
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID)
.setContentTitle("My notification")
.setContentText("This is my notification.")
.setSmallIcon(R.drawable.notification_icon)
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setAutoCancel(true)
.setStyle(new androidx.media.app.NotificationCompat.MediaStyle()
.setMediaSession(mediaSession.getSessionToken())
.setShowActionsInCompactView(0, 1, 2)); // 指定媒体控制器在通知中显示的位置
通过以上步骤,您的应用程序在锁屏界面上显示媒体控制器应该能正常工作。
上一篇:Android11-StrictModedetectLeakedClosableObjects()总是触发
下一篇:Android11-WebrtcVOIP呼叫在浏览器或桌面应用程序中无法工作,但在Android10中可以工作。