我有一项活动,它会在手机启动后振动9秒钟。我希望当活动离开前景时取消振动动作。这是我目前的代码:
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
// change image
screen.setImageResource(R.drawable.yama);
vibrateMe();
}
}, 9000);
}
public void vibrateMe() {
Vibrator vibrate = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
vibrate.vibrate(2000);
}
public void stopVibrating(Vibrator vibrate) {
vibrate.cancel();
}
@Override
public void onDestroy() {
super.onDestroy();
}
}
答案 0 :(得分:2)
你想取消你的runnable吗? 有两个选项:
答案 1 :(得分:0)
您可以使用removeCallbacksAndMessages()取消所有回拨和消息;
public final void removeCallbacksAndMessages (Object token)
在API级别1中添加 删除任何待处理的回调帖子,并发送obj为令牌的邮件。如果token为null,则将删除所有回调和消息。