我试过后台服务这样的代码,但第一次报警后应用程序崩溃了。并给出了这个错误:
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)
你忘了创建频道。应该是这样的:
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_