停止振动onDestroy

时间:2013-01-07 21:43:06

标签: android android-activity android-vibration

我有一项活动,它会在手机启动后振动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();


}

}

2 个答案:

答案 0 :(得分:2)

你想取消你的runnable吗? 有两个选项:

答案 1 :(得分:0)

您可以使用removeCallbacksAndMessages()取消所有回拨和消息;

public final void removeCallbacksAndMessages (Object token)

在API级别1中添加 删除任何待处理的回调帖子,并发送obj为令牌的邮件。如果token为null,则将删除所有回调和消息。