private static final int FINISHAPP = 10;
private static final int FINISHTIME = 15000;
class MainHandler extends Handler {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case FINISHAPP:
Log.i(TAG, "mHandler FINISHAPP");
if(dialogView!=null){
dialogView.dismiss();
dialogView=null;
}
ShowWindowService.finishDialog();
break;
}
super.handleMessage(msg);
}
}
public static void readyFinish(int finishTime) {
Log.i(TAG, "readyFinish");if (mHandler != null) {
if (mHandler.hasMessages(FINISHAPP)) {
Log.e(TAG, "mHandler.removeMessages(FINISHAPP)");
mHandler.removeMessages(FINISHAPP);
}
Log.e(TAG, "finishtime:"+finishTime);
if (finishTime >= 0) {
mHandler.sendEmptyMessageDelayed(FINISHAPP, finishTime);
Log.e(TAG, "mHandler.sendEmptyMessageDelayed(FINISHAPP, finishTime)");
}
} else {
Log.e(TAG, "mHandler is null");
}
}
调用 :readyFinish(FINISHTIME);;重新开始计时
readyFinish(-1);移除handler