马达每隔1S振动一次,共5次为例:
/***************************************************************/
private Vibrator mVibrator = null;
private Handler mHandler = new Handler();
private Runnable callback() {
return new Runnable() {
public void run() {
System.out.println("callback");
Log.d("ma da","callback");
mVibrator = new Vibrator();
mVibrator.vibrate(1000);
}
};
}
public void motor()
{
mHandler.postDelayed(callback(), 0);
mHandler.postDelayed(callback(), 2000);
mHandler.postDelayed(callback(), 4000);
mHandler.postDelayed(callback(), 6000);
mHandler.postDelayed(callback(), 8000);
}
/***************************************************************/
用handleMessage方法:
/**************************************
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case KILLER:
if (mKillerCallback != null)
{
mKillerCallback.onKilled();
}
break;
case PLAY:
play((Context) msg.obj, msg.arg1);
break;
}
}
};
private void disableKiller() {
mHandler.removeMessages(KILLER);
}
public void postPlay(final Context context, final int alarmId) {
mHandler.sendMessage(mHandler.obtainMessage(PLAY, alarmId, 0, context));
//mHandler.sendMessageDelayed(msg, delayMillis)
}
private void enableKiller() {
mHandler.sendMessageDelayed(mHandler.obtainMessage(KILLER),
1000 * ALARM_TIMEOUT_SECONDS);
}
/**************
private Handler handler = new Handler(){
private static final int Vibrator_CALLBACK = 1;
public void handleMessage(Message msg) {
switch (msg.what) {
case Vibrator_CALLBACK:
Vibrator mVibrator = new Vibrator();
mVibrator.vibrate(1000);
break;
}
super.handleMessage(msg);
}
};
TimerTask task = new TimerTask(){
public void run() {
Message message = new Message();
message.what = Vibrator_CALLBACK;
handler.sendMessage(message);
}
};
timer = new Timer(true);
timer.schedule(task,1000, 1000); //延时1000ms后执行,1000ms执行一次
timer.cancel(); //退出计时器
/***************************************************************/
private Vibrator mVibrator = null;
private Handler mHandler = new Handler();
private Runnable callback() {
return new Runnable() {
public void run() {
System.out.println("callback");
Log.d("ma da","callback");
mVibrator = new Vibrator();
mVibrator.vibrate(1000);
}
};
}
public void motor()
{
mHandler.postDelayed(callback(), 0);
mHandler.postDelayed(callback(), 2000);
mHandler.postDelayed(callback(), 4000);
mHandler.postDelayed(callback(), 6000);
mHandler.postDelayed(callback(), 8000);
}
/***************************************************************/
用handleMessage方法:
/**************************************
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case KILLER:
if (mKillerCallback != null)
{
mKillerCallback.onKilled();
}
break;
case PLAY:
play((Context) msg.obj, msg.arg1);
break;
}
}
};
private void disableKiller() {
mHandler.removeMessages(KILLER);
}
public void postPlay(final Context context, final int alarmId) {
mHandler.sendMessage(mHandler.obtainMessage(PLAY, alarmId, 0, context));
//mHandler.sendMessageDelayed(msg, delayMillis)
}
private void enableKiller() {
mHandler.sendMessageDelayed(mHandler.obtainMessage(KILLER),
1000 * ALARM_TIMEOUT_SECONDS);
}
/**************
private Handler handler = new Handler(){
private static final int Vibrator_CALLBACK = 1;
public void handleMessage(Message msg) {
switch (msg.what) {
case Vibrator_CALLBACK:
Vibrator mVibrator = new Vibrator();
mVibrator.vibrate(1000);
break;
}
super.handleMessage(msg);
}
};
TimerTask task = new TimerTask(){
public void run() {
Message message = new Message();
message.what = Vibrator_CALLBACK;
handler.sendMessage(message);
}
};
timer = new Timer(true);
timer.schedule(task,1000, 1000); //延时1000ms后执行,1000ms执行一次
timer.cancel(); //退出计时器