当app启动时出现崩溃,并且有如下错误日志:
android.app.RemoteServiceException: Bad notification posted from package com.test.hm: Couldn't create icon: StatusBarIcon(icon=Icon(typ=RESOURCE pkg=com.test.hm id=0x7f0808ae) visible user=0 )
这就说明在显示Notification通知时由于无法加载图标,而导致的崩溃。这种情况大多出现在app启动时立即显示了通知,而通知中设置了app图标,比如:静默下载app。
出现上述问题的原因可能是在初始化通知时,加载图片的方式有问题。不能使用通用的方式加载app图标,应该改用mContext.getApplicationInfo().icon方式。
修改前:
NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext, "notification-channel");
builder.setContentTitle("已下载(0%)") //设置标题
.setSmallIcon(R.drawable.ic_launcher) //设置小图标
.setLargeIcon(BitmapFactory.decodeResource(mContext.getResources(), R.drawable.ic_launcher)) //设置大图标
.setContentText("正在下载") //设置内容
.setProgress(100, 0, false); //设置进度条
修改后:
NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext, "notific

当app在华为Mate8等特定机型启动时崩溃,日志显示因无法加载通知图标导致。问题源于在创建通知时使用了错误的图标加载方式。修正方法是使用mContext.getApplicationInfo().icon来设置通知的小图标和大图标。这确保了在不同设备上的兼容性,避免了因图标加载失败引发的崩溃。
最低0.47元/天 解锁文章
3156

被折叠的 条评论
为什么被折叠?



