【发布时间】:2020-08-25 10:20:05
【问题描述】:
在我的片段中,我检查了位置是否正常,如果位置关闭,它会将用户发送到设置屏幕。
如果用户从设置屏幕打开位置,我想调用片段中的一些方法。
我试图解决这个问题,并注册了广播接收器以在位置开启/关闭时获取更新 -
override fun onAttach(context: Context) {
super.onAttach(context)
val intentFilter = IntentFilter(LocationManager.PROVIDERS_CHANGED_ACTION)
context.registerReceiver(locationBroadcastReceiver, intentFilter)
}
override fun onDetach() {
super.onDetach()
context?.unregisterReceiver(locationBroadcastReceiver)
}
这种方法有两个问题:
A - 每次我打开/关闭位置时,OnReceive 覆盖方法都会被调用 3/4
B - 如何在用户更改位置提供程序状态后从接收方调用片段方法以便继续执行我的代码?
【问题讨论】:
标签: android kotlin broadcastreceiver