如何关闭notification的震动

由于要做一个前台服务,就需要调用startForeground函数,其中要传入一个notification对象,但是默认的notification会有震动,这样的话,每次我服务启动时就会产生震动,会很糟糕,找了很久国内帖子,没找到解决方案,谷歌了一下,迎刃而解,参考网址:http://stackoverflow.com/questions/24008764/disable-vibration-for-a-notification


网上的许多例子都会采用下面这行代码:

.setDefaults(Notification.DEFAULT_ALL)
这样无论你怎么设置vibrate都无济于事,因为他设置了所有值为默认,这时候我们需要把它修改为

setDefaults(Notification.DEFAULT_LIGHT | Notification.DEFAULT_SOUND)
ps:如果没有DEFAULT_LIGHT为未定义状态,就删掉就好了


然后设置vibrate:

.setVibrate(new long[]{0l}); 

网上很多文章都说设置vibrate为null即可,原文作者表示并不行,必须这么设置。


最后别忘了加上权限:



测试android sdk 为16,测试通过。

你可能感兴趣的:(android开发)