问题描述
我正在构建一个Android应用程序,需要满足特定条件的情况下,在特定的时间间隔内要短暂振动。
问题在于,当满足这些条件时,即使将设备设置为振动2秒,有时它也会振动10秒钟以上,并且有时振动不会停止,直到重新启动设备为止。 另外,我注意到处理程序中的runnable不在正确的时间间隔内运行。应该每隔 interval 秒,但通常花费的时间更多。
这是一个例子:
fullBatteryHandler.postDelayed(new Runnable() {
@Override
public void run() {
if(isBatteryFull){
Log.d("vibrate","full battery");
v.vibrate(VibrationEffect.createOneShot(2000,VibrationEffect.DEFAULT_AMPLITUDE));
}
fullBatteryHandler.postDelayed(this,interval * 1000);
}
},1000);
为什么会发生这种情况?
编辑:我通过添加WakeLock解决了该问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)