我的问题是,在我打开和关闭位置后,我的 GpsLocationReceiver 类中的消息出现了几次。 我使用动态意图过滤器
val receiver: BroadcastReceiver = GpsLocationReceiver()
override fun onPause() {
super.onPause()
unregisterReceiver(receiver)
}
override fun onResume() {
super.onResume()
IntentFilter("android.location.PROVIDERS_CHANGED").also {
registerReceiver(receiver,it)
}
}
GpsLocationReceiver.tk:
class GpsLocationReceiver: BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
var gpsModeEnabled = intent?.getBooleanExtra("state",false) ?: return
if(gpsModeEnabled)
{
Toast.makeText(
context, "GPS IS ON",
Toast.LENGTH_SHORT
).show()
}
else{
Toast.makeText(
context, "GPS IS OFF",
Toast.LENGTH_SHORT
).show()
}
}
}