当我收到通知时,我正在定义一个特定功能的自定义振动。
然而,当手机屏幕关闭时,自定义振动会与默认通知振动一起播放。
我尝试将手机静音并以编程方式取消静音,还尝试使用部分唤醒锁定,怀疑当CPU关闭时,也会触发默认振动,但这两种方法似乎都不起作用。
我还尝试静音默认音频和振动,并在收到通知后恢复它们,但这只有助于掩盖默认通知声音,不能消除默认震动。
//Trying to mute the notification sound and vibration
audioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
//Restoring the defaults
audioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION, defaultNotifVolume, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
请告诉我如何通过编程来启用/禁用默认通知震动。
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
然后vibration.cancel();
。这样就可以取消系统震动,然后生成自定义的震动。 - Q2x13notificationBuilder.setVibrate(new long[] { -1 });
并将类型设置为仅声音,setDefaults(Notification.DEFAULT_SOUND)
而不是DEFAULT_ALL
。我假设您正在使用NotificationBuilder
。 - Q2x13