Android 字幕通知失去焦点,当另一个通知出现时停止

Android 字幕通知失去焦点,当另一个通知出现时停止,android,android-notifications,Android,Android Notifications,我有一个正在进行的通知,其水平选框由以下内容定义: 及 这在Oreo上运行得很好,但当另一个应用程序发出通知时,字幕会在锁定屏幕上停止。这似乎发生在来自Gmail和Twitter的通知上,但不会发生在系统通知上,如“检测到开放wifi” 而且,这似乎不会马上发生。当一个新的通知出现时,它会出现在我正在进行的通知上方(字幕继续滚动),几秒钟后,android会重新排列通知,使我正在进行的通知显示在顶部,字幕停止 这是预期的行为吗?我怎样才能防止这种情况发生?你为什么要首先展示一个大帐篷?这难道

我有一个正在进行的通知,其水平选框由以下内容定义:


这在Oreo上运行得很好,但当另一个应用程序发出通知时,字幕会在锁定屏幕上停止。这似乎发生在来自Gmail和Twitter的通知上,但不会发生在系统通知上,如“检测到开放wifi”

而且,这似乎不会马上发生。当一个新的通知出现时,它会出现在我正在进行的通知上方(字幕继续滚动),几秒钟后,android会重新排列通知,使我正在进行的通知显示在顶部,字幕停止


这是预期的行为吗?我怎样才能防止这种情况发生?

你为什么要首先展示一个大帐篷?这难道不是很糟糕的可访问性吗?因为对于那些不能像文本滚动一样快速阅读的用户来说,这很难做到吗?我的应用程序需要它,我想有很多应用程序可以使用它,比如股票行情或在音乐应用程序上滚动长歌曲名称,logcat会在出现这种情况时说什么?我不确定要查找什么,但我在应用程序运行时进行了一次小测试,并向该设备发送了一封测试电子邮件。这就是我得到的:
fun createNotificationChannel(context: Context) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        val name = "channel_name"
        val descriptionText = "channel_description"
        val importance = NotificationManager.IMPORTANCE_HIGH
        val channel = NotificationChannel("CHANNEL_ID", name, importance).apply {
            description = descriptionText
        }

        // Register the channel with the system
        val notificationManager: NotificationManager =
            context.applicationContext.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
        notificationManager.createNotificationChannel(channel)
    }
}
suspend fun showNotification(context: Context) {
    var collapsedView = RemoteViews(context.packageName, R.layout.default_notification_collapsed)
    collapsedView.setTextViewText(
                R.id.text,
                "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")

    val builder = NotificationCompat.Builder(context.applicationContext, "CHANNEL_ID")
        .setSmallIcon(R.drawable.ic_launcher_foreground)
        .setCustomContentView(collapsedView)
        .setPriority(NotificationCompat.PRIORITY_HIGH)
        .setOnlyAlertOnce(true)
        .setOngoing(true)

    with(NotificationManagerCompat.from(context.applicationContext)) {
        notify(1, builder.build())
    }
}