我想实施:
我想在指定的分钟内振动手机,我使用EditText获取输入并通过将分钟乘以60000转换为毫秒,然后将其作为参数传递给vibrate(),它应该振动指定的毫秒,但是它振动只有15秒..
我已完成代码:
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
final EditText minutess = (EditText) findViewById(R.id.minutes);
// to string
String min = minutess.getText().toString();
minutess.setVisibility(4);
stopButton.setVisibility(1);
try{
long mins = Long.parseLong(min);
long milis = mins*60000;
startButton.setVisibility(4);
v.vibrate(milis);
}
catch (NumberFormatException e)
{
//something else done here
}
即使以毫秒为单位的时间传递到vibrate(),它也只会振动15秒。 我是java的新手,我想知道上面代码中是否有任何错误。
答案 0 :(得分:5)
它没有说in the docs,但15秒可能是振动时间的硬件设定限制。您可能希望在其他设备上对其进行测试,以确定它在停止之前是变长还是变短。
但是如果所有设备只能振动15秒,你可以将所需的时间分成15秒的块,每次都重新振动,直到它停止。