Notification vibrate issue for android 8.0

2019-02-11 00:02发布

i create notification channel to show notification in android 8.0 as below

 NotificationChannel uploadChannel = new NotificationChannel(Constants.NOTIFICATION_CHANNEL_UPLOAD_ID,"Uploads", NotificationManager.IMPORTANCE_LOW);
 uploadChannel.enableLights(false);
 uploadChannel.setDescription("Uploads Channel");
 notificationManager.createNotificationChannel(uploadChannel);

each time i show notification the phone vibrate many times. i disable vibrate from notification channel as below

uploadChannel.enableVibration(false);

i create notification as below

 NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context, Constants.NOTIFICATION_CHANNEL_UPLOAD_ID);

but it is not working phone is vibrating with each notification.

3条回答
家丑人穷心不美
2楼-- · 2019-02-11 00:16

In addition to Ahmadul Hoq's answer, which did work for me, I would like to add that you may need to remove the app and reinstall it before the vibration changes take place. The channel keeps its initial settings and stays alive if the app is killed - so changes may not be applied if you simply build and run.

查看更多
不美不萌又怎样
3楼-- · 2019-02-11 00:23

This is a bug on Android 8 notification system. I've tinkered with different combinations of enableVibration with setVibrationPattern(null) but it does not work.

Only solution that stops the vibration for me is this:

mNotificationChannel.setVibrationPattern(new long[]{ 0 });
mNotificationChannel.enableVibration(true);

FYI, even if I set a vibration pattern with 0, but set enableVibration to false, it vibrates.

查看更多
Lonely孤独者°
4楼-- · 2019-02-11 00:35

I was initially using NotificationManager.IMPORTANCE_DEFAULT and could not get the vibrating to stop. Using NotificationManager.IMPORTANCE_LOW instead resolved the issue. NotificationManager.IMPORTANCE_MIN would also work; see here: https://developer.android.com/training/notify-user/channels#importance

查看更多
登录 后发表回答