无法读取包含 SpannableString 而不是常规字符串的通知

Cannot read notification which contains SpannableString instead of regular String

情况:

我有读取通知文本的代码

String notificationText = sbn.getNotification().extras.getString("android.text");

读取带有特殊字符的通知时会导致以下错误:

Key android.text expected String but value was a android.text.SpannableString.  
The default value <null> was returned. 
java.lang.ClassCastException: android.text.SpannableString cannot be cast to java.lang.String

导致此错误的特定文本是来自 com.whatsapp 的通知,文本为:“粗体文本 常规文本”

请注意,某些字符以粗体显示。 (没有粗体就不会抛出异常)。

问题:

有什么方法可以让我将这段文本作为字符串获取吗?

我已经试过了:

以我为例,挣扎了将近 3 个小时

String.valueOf(sbn.getNotification().extras.get("android.text"));

工作得很好

sbn.notification.extras.get(Notification.EXTRA_TEXT)**.toString()**

这将有效 100%