|
// 建立動作完成後之訊息操作 final DialogHandler handler = new DialogHandler();
// 顯示等待訊息 final ProgressDialog dialog = ProgressDialog.show(Main_800D2_Activity.this, "Search Machine", "Please wait..."); new Thread() { public void run() { // UDP 廣播, 取得各機器驗證碼 netServer.sendBroadcase();
// 卸載所建立的 dialog 物件 dialog.dismiss();
// 廣播後處理 Message m = new Message(); m.what = broadcastDialogType; m.arg1 = NetService.recBroadcaseCnt; handler.sendMessage(m); } }.start(); // 開始執行執行緒
// 建立動作完成後之訊息操作 // -> 訊息通知 handler class DialogHandler extends Handler { @Override public void handleMessage(Message msg) { switch(msg.what) { case broadcastDialogType: { // 依據回傳數量作處理 if(0 == msg.arg1) { // 顯示 Demo 操作 inputDemoDialog(); } else if(1 == msg.arg1) { // 直接進入 驗證碼 同步主機 procMainDialog(syncDirectDialogType, null); } else if(1 < msg.arg1) { inputVriDialog(); } } break;
case syncDirectDialogType: case syncVriDialogType: { // 依據回傳狀態作處理 if(0 == msg.arg1) { // 顯示 Demo 操作 inputDemoDialog(); } else if(1 == msg.arg1) { // 完成主機同步 } } break; }
super.handleMessage(msg); } } |
執行結果:
開機廣播
手動 IP 輸入: