在创建通知通道时,我们偶尔会在某些设备上收到带有空本地化消息的 IllegalArgumentException。我找到了这个答案,但频道名称 100% 肯定不是“”,所以在这种情况下不是问题。它适用于几乎所有用户,但有时会为用户抛出此异常。我们似乎也无法将其链接到设备类型或特定的 Android 版本。
创建频道的代码:
public void createNotificationChannel(String label, String description, int importance) {
// Create the NotificationChannel only on API 26+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel channel = new NotificationChannel(label, label, importance);
channel.setDescription(description);
if (notificationManager != null) {
notificationManager.createNotificationChannel(channel);
}
}
}
异常的堆栈跟踪:
android.os.Parcel.createException(Parcel.java:2078)
android.os.Parcel.readException(Parcel.java:2042)
android.os.Parcel.readException(Parcel.java:1990)
android.app.INotificationManager$Stub$Proxy.createNotificationChannels(INotificationManager.java:3205)
android.app.NotificationManager.createNotificationChannels(NotificationManager.java:713)
android.app.NotificationManager.createNotificationChannel(NotificationManager.java:701)
有人有什么想法吗?我很想解决这个问题!