Android - 停止 IntentService - 更好的 BroadcastReceiver 还是静态变量?

Android - Stop IntentService - Better BroadcastReceiver or static variable?

我的 Android 应用程序 我有一个 IntentService,它在后台执行一些冗长的操作。 现在我想做的是从 BroadcastReceiver 停止服务(停止我的意思是将服务中的标志设置为 true,以便它在以下迭代中结束)。 为了将此标志设置为真,以下哪个选项更好:

1) 将该标志声明为静态并直接从 BroadcastReceiver 修改它

2) 在 IntentService 中声明一个 BroadcastReceiver 并发送一个标志值设置为 true 的广播

3) 任何其他方式

谢谢

  1. 我会在这里避免使用静态值。这不是一个很好的风格,虽然它显然可以工作。
  2. 这样就可以了,但这可能更容易:
  3. 使用 startService 向服务发送意图。在那个意图中设置一个额外的代表你的旗帜。 在您的服务的 onStartCommand 中检查是否为该额外设置设置了正确的值,如果是则更新变量。