【问题标题】:Implementing a Service with BroadCastReceiver使用 BroadCastReceiver 实现服务
【发布时间】:2014-08-28 10:50:27
【问题描述】:

我有一个BroadCastRecevier,它在一个异步任务中工作,它在服务器发送消息然后广播发送这个服务器消息到活动时工作。当活动收到消息时,我正在使用Handler 进行一些处理但是有时不会触发处理程序。我的意思是广播发送三个消息,但处理程序工作两次。

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() 中

标签: android android-service android-broadcast android-handler


【解决方案1】:

【讨论】:

  • 感谢您的回答。我将检查这些链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-25
  • 1970-01-01
  • 2011-06-06
  • 1970-01-01
  • 2018-08-03
相关资源
最近更新 更多