Notification vibrate issue for android 8.0

Viewed 11477

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.

5 Answers

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.

This function worked for me. With it I create the notification channel in what fully disable lights, vibration and sound.

    private void createNotificationChannel() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            NotificationChannel serviceChannel = new NotificationChannel(
                    CHANNEL_ID,
                    "Foreground Service Channel",
                    NotificationManager.IMPORTANCE_DEFAULT
            );

            serviceChannel.setVibrationPattern(new long[]{ 0 });
            serviceChannel.enableVibration(true);
            serviceChannel.enableLights(false);
            serviceChannel.setSound(null, null);

            NotificationManager manager = getSystemService(NotificationManager.class);
            manager.createNotificationChannel(serviceChannel);
        }
    }

add notificationChannel.setVibrationPattern(new long[]{ 0L }); uninstall the application or clear App Data. run it again It will work! reason: channel_id already registered for application.

Related