我使用“vibrator.vibrate(2000);”振动和振动,但强度非常柔软。 我知道我的手机能够振动得更强,因为在接到电话或通知时它会正确振动。 为什么这个函数振动()这么一周? 感谢
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(4000);
虽然
,手机在接收文字或通知时会震动得非常强烈答案 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)
在大多数手机中,振动是由一个微型振动电机引起的(非常粗糙),该电机在轴上有一个偏移重量。这样,当电动机被激活并且轴旋转时,偏移的重量使得电动机及其附着的任何东西振动。除了为电机供电的持续时间外,没有任何控制。
虽然这似乎无法解释为什么呼叫接收或通知设法产生比通过API功能获得的振动更强烈的振动。那么也许我应该把它作为评论而不是答案? (但我无法看到如何在评论中得到图片)
答案 2 :(得分:0)
这是一个有根据的猜测,因为我从来没有使用振动器,但也许尝试增加你传递给函数的值?
答案 3 :(得分:0)
在我的手机(三星Galaxy S3与Android 4.3)上,振动器的强度由菜单项中的系统范围设置触发
phone settings > My device > Sound > Vibration intensity
在这里,您可以调整Incoming call
,Notification
和Haptic feedback
的振动强度。 Notification
的设置会影响您实施时产生的振动强度。将该值设置为零会导致您的手机根本无法使用您的代码振动。