我有Thrad和Handler:
Handler handler = new Handler() { @Override public void handleMessage(android.os.Message msg) { super.handleMessage(msg); //do somethink } }; Thread thread = new Thread(new Runnable() { @Override public void run() { //do somethink msg.obj = 1; handler.sendMessage(msg); thread.interrupt(); } });
当应用启动时,第一次使用 thread.start(); 一切正常。但是当我尝试启动 thread.start(); 从按钮第二次我有:
E / MessageQueue-JNI:java.lang.IllegalThreadStateException:线程已启动。
您应该在启动之前检查该线程的状态。
if (thread.getState() == Thread.State.NEW) { thread.start(); }