我试图在振动手机时使用振动模式.我正在使用:
Vibrator v = (Vibrator) this.getSystemService(Context.VIBRATOR_SERVICE); // Vibrate for 500 milliseconds long[] longs = { 2, 0, 0, 0, 2, 0 , 0, 0, 2 }; v.vibrate(longs, 1);
它只是不停止振动.
>如果我使用v.vibrate(longs,-1);它根本不振动.
>如果我使用v.vibrate(longs,0);它根本不振动.
>如果我使用v.vibrate(longs,2);或任何高于1的数字,它会无限振动.
>如果我将长值更改为更高或更低,则无效.
我已经阅读了documentation和一些tutorials,我不认为我在这里做错了什么.为什么它不能正常振动?
注意:我使用其他正确模式振动的应用程序,所以我知道这不是我的手机的问题.
解决方法:
您应该阅读vibrate()的文档.
对于2,0,0,0,2,0,0,0,2,你说:“等待2 ms,振动0 ms,等待0 ms,振动0 ms,等待2 ms,振动为0 ms,等待0 ms,振动0 ms,等待2 ms“.显然,除非重复模式(具有奇数个间隔),否则此模式永远不会振动.
当您传递除-1之外的任何值作为第二个参数时,将使用第二个参数作为开始重复的模式的索引来重复该模式.由于你似乎永远不会调用v.cancel(),这种重复永远不会结束,导致无休止的振动(因为在重复的某个时刻,你将有非0振动间隔).
总结以上是内存溢出为你收集整理的java – 为什么我的手机会无限震动?全部内容,希望文章能够帮你解决java – 为什么我的手机会无限震动?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)