启动意向服务

时间:2015-01-18 13:02:45

标签: android android-intentservice

我以这种方式启动Intent服务:

Intent MyIntentService = new Intent(this, clsMyIntentService.class);
MyIntentService.putExtra("Command", Command1);
startService(MyIntentService );

....
Sleep and do some work
....

Intent MyIntentService = new Intent(this, clsMyIntentService.class);
MyIntentService.putExtra("Command", Command2);
startService(MyIntentService );

我的问题是,在完成所有操作之前,IntentService不会收到任何内容。 当它开始接收订单时,错误是因为Command2之前收到的是Command1(之前)。

对此有何帮助?

1 个答案:

答案 0 :(得分:0)

将您的服务实现为 IntentService 类型,它拥有自己的工作线程以避免阻止UI,并将请求排队以启动它,以便您的命令以正确的顺序执行。

查看这些链接以获取更多信息: http://developer.android.com/reference/android/app/IntentService.html https://developer.android.com/training/run-background-service/create-service.html