Android: 如何检测设置何时通过通知下拉菜单更改?

Android: How to detect when settings were changed via Notification Pull Down Menu?

在我的应用程序中,我需要 NFC(不过,任何需要 GPS 的人也会 运行 到此)。在我的 MainActivity 中,我检查以确保在我的 onResume 方法中启用了 NFC。

当有人下拉通知栏时,他们可以选择更改最顶部的许多设置,包括 GPS 和 NFC。当通知菜单被拉下时,应用程序不会调用 onPause,我感到很惊讶。通过通知菜单禁用 NFC,用户绕过了我的应用程序的一层(至少是暂时的)。

有什么办法可以缓解这种情况吗?我想我可以每隔几秒连续检查一次 NFC 是否打开,但我认为这太过分了。

一个非常粗略的方法是以某种方式挂钩这样一个事实,即当您下拉时屏幕变暗,而当您向上推通知菜单时屏幕变亮......这可能只是我的 phone 不过。这样比较麻烦。

有接收状态变化的广播:

  • 全球定位系统:How to detect when user turn on/off gps state?
  • NFC:Android - Listening to NFC Adapter State Changed

register/unregister 在 onResume/onPause

期间收听他们的声音