0

我有一個BroadCastRecevier,它在asnyc任務中工作,它在服務器發送消息時工作,然後廣播將此服務器消息發送到活動。當活動獲取消息時,我正在使用Handler進行一些處理。但是,有時處理程序不會被觸發。我的意思是廣播發送三條消息,但處理程序工作兩次。使用BroadCastReceiver實現服務

g.broadcastReceiver = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     srvrMessage = intent.getStringExtra("message"); 
     try { 
      Thread.sleep(50); 
     } catch (InterruptedException e) { 
      e.printStackTrace(); 
     } 
     myHandler.sendEmptyMessage(1); 
    } 
}; 

爲了避免這個問題,我決定使用Service。我創建了一個服務類,並希望該處理程序在其中工作,但在啓動服務時無法將myHandler作爲參數發送。我怎樣才能使這個處理程序在服務中工作?

+0

我會建議你將你的處理程序中onStartCommand()服務 – Nabin 2014-08-28 10:53:43

回答