Handler类主要作用有两个:在新启动的线程中发送消息。在主线程中获取处理消息。
为了适时地处理新启动的线程锁发送的消息,显然只能通过回调的方式来实现,只需要重写Handler类中处理消息的方法,当新启动的线程发送消息时,消息会发送到与之关联的MessageQueen,而Handler会不断地从MessageQueen中获取并处理消息,这将导致Handler类中处理消息的方法被回调。
以下贴出相关源代码
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ImageView;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Handler myHandler = (Handler) new Handler(){
public void handleMessage(Message msg)
{
if (msg.what == 0x1234)
{
/***接收到消息后处理语句********/
}
}
};
//设置一个定时器
new Timer().schedule(new TimerTask() {
public void run() {
myHandler.sendEmptyMessage(0x1234);
}
},0,1000); /***设置定时器,每隔一定时间发送空消息。******/
}
}