Android 通知振动 NotifiationChannel.enableVibration(false)
Android Notification vibrates with NotifiationChannel.enableVibration(false)
使用API 26 (Android 8.0) 我们需要为每个通知定义一个NotificationChannel。每个频道都有自己的中断设置(例如振动、灯光、声音)。
问题:
当我禁用此频道的振动并将其部署在 Android 8.0(2017 年 9 月安全更新)phone (Nexus 5X) 上时,通知仍然会触发振动 并且自动打开(弹出),我没有设置并想禁用它。
我在我的 MainActivity 中注册了一个 NotificationChannel:
// 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);
}
我为通知设置了 NotificationChannel:
notification = new NotificationCompat.Builder(context)
.setContentIntent(onClickPendingIntent)
.setChannelId(NOTIFICATION_CHANNEL_ID_RUNNING)
.setOngoing(true)
.setWhen(System.currentTimeMillis())
.setAutoCancel(false)
.build();
更新(2017 年 10 月 5 日安全更新)
现在一切正常,没有解决方法,所以我可以选择 targetSDK 26(之前,我使用 25 来避免这种错误行为)。对于其他版本有其他 phones 尚未收到最新更新的类似错误的情况,我将下面的解决方法标记为已接受的答案。
这似乎有效:
runningchannel.setVibrationPattern(new long[]{0, 0, 0, 0,0, 0, 0, 0, 0});
是的,很奇怪
使用API 26 (Android 8.0) 我们需要为每个通知定义一个NotificationChannel。每个频道都有自己的中断设置(例如振动、灯光、声音)。
问题: 当我禁用此频道的振动并将其部署在 Android 8.0(2017 年 9 月安全更新)phone (Nexus 5X) 上时,通知仍然会触发振动 并且自动打开(弹出),我没有设置并想禁用它。
我在我的 MainActivity 中注册了一个 NotificationChannel:
// 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); }
我为通知设置了 NotificationChannel:
notification = new NotificationCompat.Builder(context) .setContentIntent(onClickPendingIntent) .setChannelId(NOTIFICATION_CHANNEL_ID_RUNNING) .setOngoing(true) .setWhen(System.currentTimeMillis()) .setAutoCancel(false) .build();
更新(2017 年 10 月 5 日安全更新)
现在一切正常,没有解决方法,所以我可以选择 targetSDK 26(之前,我使用 25 来避免这种错误行为)。对于其他版本有其他 phones 尚未收到最新更新的类似错误的情况,我将下面的解决方法标记为已接受的答案。
这似乎有效:
runningchannel.setVibrationPattern(new long[]{0, 0, 0, 0,0, 0, 0, 0, 0});
是的,很奇怪