【问题标题】:NotificationChannel always make sound in Android 8.0NotificationChannel 在 Android 8.0 中总是发出声音
【发布时间】:2017-11-28 07:08:52
【问题描述】:

我已将target build version 升级为27,因此需要实现notification channel。我正在启动一个前台service,它会在启动时显示一个通知。使用通知通道,它按预期工作,但始终为make sound。更改通知priority 没有任何效果。

if(Build.VERSION.SDK_INT >= 26) {
    NotificationChannel notificationChannel = new NotificationChannel(CHANNEL_ID,
            CHANNEL_NAME, NotificationManager.IMPORTANCE_LOW);
    mNotificationManager.createNotificationChannel(notificationChannel);
    notification = new Notification.Builder(this,CHANNEL_ID)
            .setContentTitle("My App")
            .setContentText(status)
            .setSmallIcon(R.drawable.ic_stat_notify)
            .setContentIntent(pendingIntent)
            .build();
}

我检查了IMPORTANCE_MINIMPORTANCE_DEFAULTIMPORTANCE_LOW,都在发出声音

【问题讨论】:

  • 也许您可以检查该通道的设置,看看是否有声音。 Android O 能够以您想要的方式配置任何通知,更改开发人员设置的默认值。如果您修改了默认设置,请仔细检查。
  • 有一个方法 setSound(Uri, Atrributes)。如果我调用 setSound(null,null) 则不会显示通知,如果我调用 setSound(null,attributes) 则通知会出现声音(默认通知声音)
  • 以防万一,请记住,一旦第一次创建通知通道,您就无法再更改重要性。调用具有不同重要性的 createNotificationChannel 将无效。您需要清除应用数据或卸载应用才能删除频道并重新创建。
  • @jmart 就是这样 :) 如果您已经调用了具有特定优先级的 createNotificationChannel,则在不卸载应用程序的情况下无法更改它。就我而言,我以默认优先级运行应用程序。它正在发出声音,所以我将优先级降低到 LOW。但在我卸载该应用程序之前,从未应用过该设置。请发表您的评论作为答案,我会将其标记为已接受。谢谢

标签: android notification-channel


【解决方案1】:

一旦创建了通知通道,就不能再改变重要性了。

您需要清除应用数据或卸载应用才能删除频道并重新创建具有不同重要性级别的频道。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-20
    • 2018-07-07
    • 1970-01-01
    • 2017-08-07
    相关资源
    最近更新 更多