我在Android 4.0中使用Galaxy Nexus,我将静音模式设置为在“设置”中振动。我使用NotificationManager.notify发送通知。我没有设置Notification.vibrate,我甚至使用myNotification.defaults& = ~Notification.DEFAULT_VIBRATE来禁用振动。但是在调用NotifcationManager.notify之后它仍然会振动。 谁能告诉我如何在振动模式下关闭通知的振动?
答案 0 :(得分:3)
使用以下代码:
notification.defaults = Notification.DEFAULT_LIGHTS;
//or
notification.defaults = Notification.DEFAULT_SOUND;
答案 1 :(得分:1)
动态管理通知设置:
notification.defaults = Notification.DEFAULT_LIGHTS;
if(/*sound enabled*/)
notification.defaults |= Notification.DEFAULT_SOUND;
if(/*vibration enabled*/)
notification.defaults |= Notification.DEFAULT_VIBRATE;
答案 2 :(得分:1)
要在收到通知时禁用“振动”,我会使用此代码。
notification.vibrate = new long[] { -1 };
它完美运作。
答案 3 :(得分:0)
首先在共享首选项中存储振动设置按钮的值。然后将此代码放在收到通知的位置。
SharedPreferences preferences = context.getSharedPreferences("VIBRATE",
0);
boolean vibrate = preferences.getBoolean("vibrate", true);
if (vibrate) {
notification.defaults |= Notification.DEFAULT_VIBRATE;
}
答案 4 :(得分:0)
对于特定的软件包,也可以使用以下adb命令来完成
adb shell
cmd appops set package_name VIBRATE ignore
以上命令将禁用package_name软件包的所有振动。