With API 26 (Android 8.0) we need to define a NotificationChannel for each Notification. Each channel has its own settings of disruptions (e.g. vibration, light, sound).
Problem: When I disable vibration for this channel and deploy this on a Android 8.0 (security update September 2017) phone (Nexus 5X), the notification triggers vibration anyway and is opened automatically (pop-in) which I did not set and want to disable.
I register a NotificationChannel in my MainActivity:
// Register NotificationChannels needed for API 26+ to display notification messages if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannel runningChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID_RUNNING, getString(R.string.notification_channel_name_running), NotificationManager.IMPORTANCE_LOW); runningChannel.enableLights(false); runningChannel.enableVibration(false); mNotificationManager.createNotificationChannel(runningChannel); }
I set the NotificationChannel for the Notification:
notification = new NotificationCompat.Builder(context) .setContentIntent(onClickPendingIntent) .setChannelId(NOTIFICATION_CHANNEL_ID_RUNNING) .setOngoing(true) .setWhen(System.currentTimeMillis()) .setAutoCancel(false) .build();
Update (security update 5th October 2017)
Now everything works as expected without workaround so I can choose targetSDK 26 (before, I used 25 to avoid this false behavior). For the case when other releases have a similar bug of other phones did not yet receive the newest update, I marked the workaround below as accepted answer.