当铃声模式更改为正常停止服务时

when ringer mode is changed to normal stop service

当铃声模式更改为正常时如何停止我的应用程序服务。 我是 android 编程的新手,很困惑,只需要快速示例。我在网上看到了其他信息,但无法理解。

对于这种情况,您需要监视铃声模式更改的系统事件。在 android 平台中有一个名为 broadcast receiver

的应用程序组件
  1. 您需要创建一个新的class子classing BroadcastReceiver并通过xml声明或程序代码注册。
  2. 将 android.media.RINGER_MODE_CHANGED 操作分配给其 intent 过滤器
  3. 您的 BroadcastReceiver onReceive() 方法将在更改振铃器模式时以 intent 作为参数被调用。
  4. 通过使用 EXTRA_RINGER_MODE. And compare the value with RINGER_MODE_NORMAL
  5. 查看接收到的额外意图来检查当前铃声模式
  6. 如果满足第 4 点中的条件
  7. ,则发出 context.stopService() 停止您的 运行 服务的意图