我已经通过振动模式,-1没有重复。但是我想要传递10代替-1(现在应该重复10次)然后这种模式不会重复10次。如何做到这一点?目前我正在使用此代码
Vibrator mVibrate = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
long pattern[]={0,800,200,1200,300,2000,400,4000};
// 2nd argument is for repetition pass -1 if you do not want to repeat the Vibrate
mVibrate.vibrate(pattern,-1);
但是我想这样做mVibrate.vibrate(pattern,10);
无效。
答案 0 :(得分:3)
按预期工作,请参阅第二个参数文档:
重复 索引到重复的模式,如果你不想重复,则为-1。
由于您的模式没有索引10,因此只会忽略
答案 1 :(得分:1)
Vibrator API不可能做这样的事情。一个可能的解决方案可能是做你自己的听众并计算它振动的频率,例如模式[]已经完成。但是我不知道怎么做......也许有可能使用一个与你的模式[]总和* 10
一样长的定时器答案 2 :(得分:1)
您的问题是“如何长时间振动Android设备(例如2,5,10分钟)?”没有人真的回答你的问题,所以我会试一试。我写了下面的代码来无限地振动手机:
// 2 minutes
v.vibrate(2 * 60 * 1000);
// 5 minutes
v.vibrate(5 * 60 * 1000);
// 10 minutes
v.vibrate(10 * 60 * 1000);
如果您要将设备振动2分钟,5分钟或10分钟,可以使用以下代码:
public void vibrateForNMinutes(Vibrator v, int numMinutesToVibrate) {
// variable constants explicitly set for clarity
// milliseconds per second
long millisPerSecond = 1000;
// seconds per minute
long secondsPerMinute = 60;
v.vibrate(numMinutesToVibrate * secondsPerMinute * millisPerSecond);
}
最后,如果您只想编写一个方法来执行此操作(如您所愿),您可以编写以下内容:
date.timezone