当前位置: 首页 > 知识库问答 >
问题:

startForeground错误的错误通知

王英彦
2023-03-14

我试过后台服务这样的代码,但第一次报警后应用程序崩溃了。并给出了这个错误:

Android.app.remoteserviceException:StartForeground的错误通知:java.lang.runtimeException:服务通知的无效通道:通知(通道=null pri=0 contentview=null dibrate=null sound=null defaults=0x0 flags=0x40 color=0x00000000vis=private)

我的代码:

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                mNotification = Notification.Builder(this, CHANNEL_ID)
                        // Set the intent that will fire when the user taps the notification
                        .setContentIntent(pendingIntent)
                        .setSmallIcon(R.drawable.ic_stat_name)
                        .setLargeIcon(BitmapFactory.decodeResource(res, R.mipmap.ic_launcher))
                        .setAutoCancel(true)
                        .setContentTitle(title)
                        .setStyle(Notification.BigTextStyle()
                                .bigText(message))
                        .setContentText(message).build()

            } else {

                mNotification = Notification.Builder(this)
                        // Set the intent that will fire when the user taps the notification
                        .setContentIntent(pendingIntent)
                        .setSmallIcon(R.drawable.ic_stat_name)
                        .setLargeIcon(BitmapFactory.decodeResource(res, R.mipmap.ic_launcher))
                        .setAutoCancel(true)
                        .setPriority(Notification.PRIORITY_MAX)
                        .setContentTitle(title)
                        .setStyle(Notification.BigTextStyle()
                                .bigText(message))
                        .setContentText(message).build()
            }



            notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager

            notificationManager.notify(mNotificationId, mNotification)

共有1个答案

南门星河
2023-03-14

你忘了创建频道。应该是这样的:

mNotification = Notification.Builder(this, CHANNEL_ID)
                        // Set the intent that will fire when the user taps the notification
                        .setContentIntent(pendingIntent)
                        .setSmallIcon(R.drawable.ic_stat_name)
                        .setLargeIcon(BitmapFactory.decodeResource(res, R.mipmap.ic_launcher))
                        .setAutoCancel(true)
                        .setContentTitle(title)
                        .setStyle(Notification.BigTextStyle()
                                .bigText(message))
                        .setContentText(message).build()
notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            val channel = NotificationChannel(CHANNEL_ID,
                    "Channel title",
                    NotificationManager.IMPORTANCE_DEFAULT)
            notificationManager.createNotificationChannel(channel)
        }

            notificationManager.notify(mNotificationId, mNotification)
 类似资料:
  • 我正在尝试按以下方式启动前台服务: PS:我试了一个非模拟器的Android9.0设备,没有得到这个错误。

  • 场景可能是:我的期望可能是批量10个数据点,我想对{failed 5,pass 5}或其他什么给出响应。 我的逻辑是将批处理拆分为数据元素并进行验证 成功的验证将发送给aggreagtor, 失败的验证将抛出错误并通过错误通道拾取。 收件人列表路由器将错误通道作为输入通道,并连接2个过滤器,目的是过滤某些类型的错误直接发送响应(与用户输入无关的信息-服务器错误等),某些类型的客户端错误将转到聚合器

  • 几天来,我们一直遇到一个WCF通信错误,我不知道是什么导致了这个错误。我最初认为这是一个SSL证书问题,但它不是。我还确保只要在web浏览器上输入URL就可以到达endpoint,并且可以查看。我还确保默认的请求大小不会导致这个问题。我确信这些请求小于默认的30MB。 还有什么东西可以防止这种堆栈跟踪错误? 客户端堆栈跟踪: 由于通信失败,WCFDirector获取失败。 因为表单没有正确加载,所

  • 我试图测试一个控制器的方法,并得到适当的异常。它仅对ConstraintViolationExcture(javax.validation)失败,而对其他测试(如MisSingServletRequest estParameterExcture或METHOArgumentTypeMismatchExcture)则按预期工作。 下面是我的代码的一部分,在控制器(@验证)中,在我添加这些注释的方法中。

  • 我能够使用cloudera提供的示例jar在alluxio上运行wordcount,使用: 但是当我使用附带代码创建的jar时,我不能运行它,这也是一个示例wordcount示例代码 上面的代码是使用maven pom.xml文件构建的 你能帮我在alluxio集群中运行我的wordcount程序吗。希望没有额外的配置添加到pom文件运行相同。

  • 构建信息:版本:'2.53.1',修订:'A36B8B1CD5757287168E54B817830ADCE9B0158D',时间:'2016-06-30 19:26:09'系统信息:host:'fms-dev',IP:'192.168.1.56',OS.name:'Windows 8.1',OS.arch:'AMD64',OS.version:'6.3',java.version:'1.8.0_