我正在尝试在我的应用程序中实现一个可以使振动器产生脉冲的功能。用户可以使用滑块更改 3 项内容,即振动强度、脉冲长度和脉冲之间的时间。
我在想一些代码,例如:
for(i=0; i<(pulse length * whatever)+(pulse gap * whatever); i+=1){
pattern[i]=pulse length*i;
patern[i+1]=pulse gap;
但是,当我使用此代码时(当它正确完成时,这只是一个简单的示例)它会使应用程序崩溃。此外,当我改变振动强度(确实有效)时,我必须重新启动服务才能改变强度。我改变强度的方法是改变振动器打开和关闭的时间。
这是我用来检测手机应该如何振动的代码(这里的代码和我喜欢的有点不同):
if (rb == 3){
z.vibrate(constant, 0);
} else if (rb == 2){
smooth[0]=0;
for (int i=1; i<100; i+=2){
double angle = (2.0 * Math.PI * i) / 100;
smooth[i] = (long) (Math.sin(angle)*127);
smooth[i+1]=10;
}
z.vibrate(smooth, 0);
} else if (rb == 1){
sharp[0]=0;
for(int i=0; i<10; i+=2){
sharp[i] = s*pl;
sharp[i+1] = s+pg;
}
z.vibrate(sharp, 0);
}
} else {
z.cancel();
}
如果有人能够指出一些可以做到这一点的代码的方向,或者我如何使它工作,我将非常感激。