【发布时间】:2014-02-01 06:46:23
【问题描述】:
如何在无限循环中调用方法,使其每 200 毫秒调用一次?我的意思是:sendMessage() -> wait(200ms) -> sendMessage -> wait(200ms) 等等,除非用户决定不按下按钮。这里以sendMessage方法为例:
private void sendMessage(String message) {
if (mCommandService.getState() != CommandService.STATE_CONNECTED) {
Toast.makeText(this, R.string.title_not_connected, Toast.LENGTH_SHORT).show();
return;
}
if (message.length() > 0) {
byte[] send = message.getBytes();
mCommandService.write(send);
mOutStringBuffer.setLength(0);
mOutEditText.setText(mOutStringBuffer);
}
}
我不能使用Thread.sleep(),因为它会冻结 UI。我想handler.postDelayed() 的想法在这里也不可行。或者也许是?我怎样才能做到这一点?无论如何我都无法冻结任何活动...
【问题讨论】:
标签: java android multithreading