首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >停止振动onDestroy

停止振动onDestroy
EN

Stack Overflow用户
提问于 2013-01-08 05:43:06
回答 2查看 798关注 0票数 0

我有一个活动,它会在手机启动后震动9秒。我希望在活动离开前台时取消振动动作。下面是我当前的代码:

代码语言:javascript
复制
     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();


}

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-08 05:56:03

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

runnable你可以用handler.removeCallbacksAndMessages(null)

  • you来取消所有延迟的Runnable(
  • vibrateRunnable =
  • () ... )然后在需要时通过handler.removeCallbacks(vibrateRunnable)

将其删除

票数 2
EN

Stack Overflow用户

发布于 2013-01-08 06:21:59

可以使用removeCallbacksAndMessages()取消所有的CallBacks和消息;

代码语言:javascript
复制
public final void removeCallbacksAndMessages (Object token)

在API级别1中添加,删除所有挂起的回调posts,并发送obj为token的消息。如果token为空,则所有回调和消息都将被移除。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14204551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档