我以这种方式启动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(之前)。
对此有何帮助?
答案 0 :(得分:0)
将您的服务实现为 IntentService 类型,它拥有自己的工作线程以避免阻止UI,并将请求排队以启动它,以便您的命令以正确的顺序执行。
查看这些链接以获取更多信息: http://developer.android.com/reference/android/app/IntentService.html https://developer.android.com/training/run-background-service/create-service.html