我有两个广播接收器:1)监听网络变化2)听sqlite db修改。 如果连接互联网,两个广播都会调用相同的服务。
在我的服务onStartCommand中我正在检查数据库是否有任何条目,如果是,则在后台执行请求。 我的问题是 - 当没有互联网时,所有请求都存储在数据库中,当连接到互联网时,任何请求都存储在数据库中,然后两个广播都被触发,因此onStartCommand被调用两次,所以每个请求也都完成了两次。我怎么能避免这个?我已经尝试过使用IntentService和Service两者,两者都以类似的方式工作。
我希望如果已经调用了onStartCommand,那么它应该限制另一个服务调用。有没有其他方法来实现这一目标?