2010-07-10 41 views
3

我写了一些代码,无论何时接到来电时将手机静音。 当振动模式我用下面的代码的手机停止手机震动:安卓手机振动不停止使用取消方法

Vibrator vib = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); 
vib.cancel(); 

虽然它的工作对我的Nexus One采用Android 2.1,它似乎不会停止上的HTC Desire振动手机与android 2.1。 有没有人遇到过这个问题?

Doron

回答

0

振动开始前的某些情况下,由于安装在来电广播接收机上的停止振动代码在振动开始前不会停止,所以似乎振动不会停止。

对我来说,解决方案是检查手机是否振动,如果是这样,则关闭振动以将振动模式设置关闭,从而防止振动开始。

0

这是Android的缺点之一,不同的设备表现不同。您是否尝试过使用vibrate(3000);,这相当于让设备振动3秒钟,试图取消启动的服务?

+0

那么当我们实现“Pattern-Vibrate” 如long [] pattern = {0L,100L,250L,1000L,250L,500L}时呢? \t \t \t vibrator.vibrate(pattern,2); 所以“取消”应该在那里停止振动 – 2010-07-10 12:04:30

+0

我同意,但如果取消()不能在HTC Desire上工作 - 那么你还能做什么? 还发现这个问题并不是新的设备:http://forum.xda-developers.com/showthread.php?t=661702 – 2010-07-10 12:19:09

+0

本尼,谢谢你的答案。 我需要手机停止来电振动。 如何让它振动3秒帮助我? – DoronBM 2010-07-10 18:09:44