假设我们有两个按钮:
第一个按钮:
Intent i = new Intent(this,MyService.class);
i.putExtra("url","https://api.crowdscores.com/api/v1/matches/53102")
startService(i);
第二个按钮:
Intent i = new Intent(this,MyService.class);
i.putExtra("url","https://api.crowdscores.com/api/v1/matches/53113");
startService(i);
在MyService上我有一个计时器,每30秒检索一次数据约2小时
当我点击按钮无法启动另一个但第一个服务已完成(已销毁)
我如何并行运行这两个服务?
答案 0 :(得分:2)
您不要在Parallel中运行它们。 Android API会为您处理此问题。如果第一次调用startService()
时服务未运行,则会调用其onCreate()
方法。但是,如果它正在运行,则会调用服务的onStartCommand()
。
启动服务的多个请求导致对服务的onStartCommand()的多个相应调用。
由您来处理为每个运行该服务的请求创建线程的逻辑。看一下如何完成任务的概述:
http://developer.android.com/intl/es/guide/components/services.html#ExtendingService
这将引导您正确创建服务,允许您同时发送多个请求。