振动器强度太软

时间:2012-12-09 23:52:13

标签: android vibration

我使用“vibrator.vibrate(2000);”振动和振动,但强度非常柔软。 我知道我的手机能够振动得更强,因为在接到电话或通知时它会正确振动。 为什么这个函数振动()这么一周? 感谢

Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(4000); 

虽然

,手机在接收文字或通知时会震动得非常强烈

4 个答案:

答案 0 :(得分:2)

您无法进一步增加振动强度。因此,为了更好地感觉您可以使用public void vibrate(long[] pattern, int repeat)代替vibrator.vibrate(2000);

这里的模式是(来自api参考)

  

传入一组要打开的持续时间的整数   或者在几毫秒内关闭振动器。第一个值表示   打开振动器之前要等待的毫秒数。该   next值表示要保留的毫秒数   振动器打开之前关闭。后续值之间交替   持续时间(以毫秒为单位)关闭振动器或转动振动器   振动器。

所以你可以尝试不同的模式来获得更好的感觉。例如

final long[] pattern = { 0, 200, 500, 500, 200 };
vibrator.vibrate(pattern , 0);

您可以创建自己的模式进行检查。

答案 1 :(得分:2)

在大多数手机中,振动是由一个微型振动电机引起的(非常粗糙),该电机在轴上有一个偏移重量。这样,当电动机被激活并且轴旋转时,偏移的重量使得电动机及其附着的任何东西振动。除了为电机供电的持续时间外,没有任何控制。

Typical Miniature Vibration Motor

虽然这似乎无法解释为什么呼叫接收或通知设法产生比通过API功能获得的振动更强烈的振动。那么也许我应该把它作为评论而不是答案? (但我无法看到如何在评论中得到图片)

答案 2 :(得分:0)

这是一个有根据的猜测,因为我从来没有使用振动器,但也许尝试增加你传递给函数的值?

答案 3 :(得分:0)

在我的手机(三星Galaxy S3与Android 4.3)上,振动器的强度由菜单项中的系统范围设置触发

phone settings > My device > Sound > Vibration intensity

在这里,您可以调整Incoming callNotificationHaptic feedback的振动强度。 Notification的设置会影响您实施时产生的振动强度。将该值设置为零会导致您的手机根本无法使用您的代码振动。