我要实现:
我想让手机振动指定的分钟数,我使用 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 的新手,我想知道上面的代码是否有任何问题..
最佳答案
它没有说 in the docs ,但 15 秒可能是振动时间的硬件设置限制。您可能想在不同的设备上对其进行测试,看看它在停止前是变长还是变短。
但如果所有设备只能振动 15 秒,您可以将所需的时间分成 15 秒的 block ,每次都重新开始振动,直到振动停止。
关于java - android 只振动 15 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8709328/