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

回答