我正在编写一个使用通知的应用程序。谷歌开发者指南鼓励开发者提供设置以自定义通知(关闭震动,设置通知音...)。因此,如果用户将其设置为该方式,我正在尝试为通知禁用震动。
我正在使用 NotificationCompat.Builder
创建通知,代码如下:
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(Application.getContext())
.setDefaults(Notification.DEFAULT_ALL)
.setPriority(Notification.PRIORITY_MAX)
.setSmallIcon(R.drawable.ic_launcher)
.setLargeIcon(largeIconBitmap)
.setAutoCancel(true)
.setContentIntent(resultPendingIntent)
.setContentTitle(title)
.setContentText(content);
我尝试了不同的方法来禁用通知:
notificationBuilder.setVibrate(null);
notificationBuilder.setVibrate(new long[]{0l, 0l});
notificationBuilder.setDefaults(Notification.DEFAULT_ALL | ~Notification.DEFAULT_VIBRATE);
notificationBuilder.setDefaults(Notification.DEFAULT_LIGHTS | Notification.DEFAULT_SOUND);`
我也尝试构建通知并更改生成对象上的值:
Notification notification = notificationBuilder.build();
notification.vibrate = null;
但是当通知出现时,手机仍会震动。
我如何禁用通知的震动?
setVibrate(null)
没有效果,但当我改变了我的频道 ID 后它就起作用了。 - Undefined