问题描述
我不知道为什么,但是由于某种原因,每当我在Android startForeground(...)
及更高版本上使用notificationManagar.notify(...)
或oreo
命令时,都会发出持续将近1的通知声音第二。
这不是一个问题,只要它第一次响起,但是每次我更新通知UI时都会响起(这再次通过执行notificationmanager.notify
完成。
有什么方法可以在我的应用程序处于活动状态时禁用此声音吗?(因为我不知道为什么系统会需要它,但是系统必须为它设计了某些东西)
解决方法
由于通知通道是Oreo + API的必需通道,因此很可能与该通道有关。
我认为您可以在创建Foreground服务通知频道时使用NotificationManager.IMPORTANCE_LOW
停止此声音。
NotificationChannel serviceChannel = new NotificationChannel(
CHANNEL_ID,CHANNEL_NAME,NotificationManager.IMPORTANCE_LOW // <<<<<
);
NotificationManager manager = getSystemService(NotificationManager.class);
manager.createNotificationChannel(serviceChannel);