我有一個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作爲參數發送。我怎樣才能使這個處理程序在服務中工作?
我會建議你將你的處理程序中onStartCommand()服務 – Nabin 2014-08-28 10:53:43