0

開始後 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();


}

}
4

2 に答える 2

2

ランナブルをキャンセルしますか? 2 つのオプションがあります。

于 2013-01-07T21:56:02.660 に答える
0

removeCallbacksAndMessages();を使用して、すべてのコールバックとメッセージをキャンセルできます。

public final void removeCallbacksAndMessages (Object token)

APIレベル1で追加されました。objがトークンであるコールバックと送信済みメッセージの保留中の投稿を削除します。トークンがnullの場合、すべてのコールバックとメッセージが削除されます。

于 2013-01-07T22:21:58.683 に答える