android – startForeground()总是在Samsung 8.0设备上显示一个d出窗口

android – startForeground()总是在Samsung 8.0设备上显示一个d出窗口,第1张

概述每次我在前台服务中使用startForeground()在其通知中进行状态更新时,我遇到三星Galaxy S7 Edge的问题,显示d出通知. 首先,此问题出现在所有Android 8.0设备上,但很容易修复,我的通知通道优先级设置为IMPORTANCE_LOW.但问题仍然存在于三星设备上. 所以,问题是,如何在Samsung 8.0设备上静默更新前台服务通知? 我的代码如下. 申请类: over 每次我在前台服务中使用startForeground()在其通知中进行状态更新时,我遇到三星galaxy S7 Edge的问题,显示d出通知.

首先,此问题出现在所有Android 8.0设备上,但很容易修复,我的通知通道优先级设置为importANCE_LOW.但问题仍然存在于三星设备上.

所以,问题是,如何在Samsung 8.0设备上静默更新前台服务通知?

我的代码如下.

申请类:

overrIDe fun onCreate() {        super.onCreate()        //other code        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {            notificationmanager.createNotificationChannels(listof(                    //                    NotificationChannel(MY_NOTIFICATION_CHANNEL,"My channel",notificationmanager.importANCE_LOW).apply {                        setSound(null,null)                    }                    //            ))        }    }

服务开始前景:

val notification = NotificationCompat.Builder(this,MY_NOTIFICATION_CHANNEL)                .setSmallicon(androID.R.drawable.stat_sys_warning)                .setcolor(App.context().resources.getcolor(R.color.primary_dark))                .setContentText(if (/*logic*/) "This" else "That")                .addAction(0,if (enable) "disable" else "Enable",firstIntent)                .addAction(0,"Another action",secondIntent)                .build()        startForeground(MY_NOTIFICATION_ID,notification)
解决方法 我一直在调查.您可以做的最好的事情是创建没有频道的通知.服务从托盘中的任何内容开始.似乎适合我.

NotificationCompat.Builder(本)

但是,此构造函数在26.1.0中已弃用

总结

以上是内存溢出为你收集整理的android – startForeground()总是在Samsung 8.0设备上显示一个d出窗口全部内容,希望文章能够帮你解决android – startForeground()总是在Samsung 8.0设备上显示一个d出窗口所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1135172.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存