Android 只有 Marshmallow 声音通知?

Android Marshmallow sound only Notification?

在 Lollipop 及以下版本中,您可以通过在构造时省略图标、内容标题和内容文本来轻松发送纯声音通知,如下所示:

NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext());
builder.setSound(Uri.parse(ringtone));
notificationManager.notify(9998, builder.build());

在 Marshmallow 中,我必须至少包含一个图标,否则会出现 'no valid small icon' 异常。我想使用通知系统,但不想总是在通知栏中显示通知。 Marshmallow 是否可以做到这一点,或者我是否应该更改为使用媒体播放器播放我的通知声音,即使有时我或用户可能想要显示通知?

我在某处读到文档说图标是必需的,甚至认为它在 Lollipop 及以下版本中省略时不会引发异常。在研究了使用 MediaPlayer 之后,我最终决定使用 RintoneManager 来播放它。我正在使用通知声音,所以不妨省下一些打字时间,然后快速做一下

try {
    RingtoneManager.getRingtone(getApplicationContext(), Uri.parse(ringtone)).play();
} catch (Exception e) {
    e.printStackTrace();
}

为了触发声音,我会保存通知,以便在需要实际通知时使用。我已经在计划使用 if,这取决于通知是否应该出现在通知栏中。