设备振动不断重复
device vibration keeps repeating infinitely
我正在尝试振动设备并重复此模式 3 次,总共振动 6 次。我正在使用下面的代码,但我的设备一直在无限振动。如何在这 3 次重复后停止振动?
private void deviceVibration (){
long[] pattern = {0, 2000, 1000, 2000,1000};
vibrator.vibrate(pattern,3);
}
public void vibrate (long[] pattern,
int repeat)
这个long[] pattern
是一个长数组,用于打开或关闭振动器。
int repeat
是要重复的模式索引,如果不想重复,则为 -1。
因此,如果您输入 3,它将重复您模式的 3 索引位置。
long[] pattern = {0, 2000, 1000, 2000,1000}; <-- 2000 will be repeated
所以模式没问题,你需要去掉一个只振动三下然后把你的3换成-1不重复。
你可以试试这个
long[] pattern = {0, 2000, 1000, 2000,1000};
vibrator.vibrate(pattern, -1);
-1 表示仅按照模式中提到的方式振动。
你的代码应该是这样的
long[] pattern = {0, 2000, 1000, 2000,1000, 2000,1000};
vibrator.vibrate(pattern, -1);
正如Skizo-ozᴉʞS说的采纳他的回答更完美
我正在尝试振动设备并重复此模式 3 次,总共振动 6 次。我正在使用下面的代码,但我的设备一直在无限振动。如何在这 3 次重复后停止振动?
private void deviceVibration (){
long[] pattern = {0, 2000, 1000, 2000,1000};
vibrator.vibrate(pattern,3);
}
public void vibrate (long[] pattern, int repeat)
这个long[] pattern
是一个长数组,用于打开或关闭振动器。
int repeat
是要重复的模式索引,如果不想重复,则为 -1。
因此,如果您输入 3,它将重复您模式的 3 索引位置。
long[] pattern = {0, 2000, 1000, 2000,1000}; <-- 2000 will be repeated
所以模式没问题,你需要去掉一个只振动三下然后把你的3换成-1不重复。
你可以试试这个
long[] pattern = {0, 2000, 1000, 2000,1000};
vibrator.vibrate(pattern, -1);
-1 表示仅按照模式中提到的方式振动。
你的代码应该是这样的
long[] pattern = {0, 2000, 1000, 2000,1000, 2000,1000};
vibrator.vibrate(pattern, -1);
正如Skizo-ozᴉʞS说的采纳他的回答更完美