将消息从Activity发送到intentService

时间:2013-02-05 00:28:18

标签: android intentservice

我的问题如下:

我从我的主Activity开始我的intentService。此intentService使用audioRecord进行一些音频处理。

但是,当我需要在我的应用程序中启动另一个活动(在这种情况下录制视频)时,我需要在后台停止intentService(因为它占用了音频资源)。

有没有办法从主活动中停止intentService?

2 个答案:

答案 0 :(得分:0)

您可以使用主活动中的stopService(),如下所示:

stopService(new Intent(yourMainActivity.this,yourIntentService.class));

答案 1 :(得分:0)

使用您用于启动IntentService的相同的预先声明的intent并调用

stopService(intent);

如果您创建新意图并使用它来停止服务,则服务在完成处理之前的意图之前不会响应它。

但应该注意的是,这不会立即停止服务。因此,解决此问题的方法是使用全局布尔变量。当它设置为true时,服务中的处理将执行,当你想要结束它时,你的活动将boolean变量设置为false。然后你可以通过调用

来停止服务
stopSelf();