0

我的问题如下:

我从我的主要活动开始了我的意图服务。此 intentService 使用 audioRecord 进行一些音频处理。

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

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

4

2 回答 2

0

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

stopService(intent);

如果您创建一个新的意图并使用它来停止服务,则服务将不会响应它,直到它完成对先前意图的处理。

但需要注意的是,这不会立即停止服务。所以解决这个问题的方法是有一个全局布尔变量。当它设置为 true 时,服务内的处理将执行,当您想要结束它时,将您的活动中的布尔变量设置为 false。然后你可以通过调用从自身内部停止服务

stopSelf();
于 2013-02-08T15:42:14.810 回答
0

您可以像这样从主要活动中使用 stopService():

stopService(new Intent(yourMainActivity.this,yourIntentService.class));
于 2013-02-05T01:40:32.330 回答