繁体   English   中英

如何从广播接收器调用片段方法

[英]How to call fragment method from broadcast receiver

在我的片段中,我检查位置是否一切正常,如果位置关闭,它会将用户发送到设置屏幕。

如果用户从设置屏幕打开位置,我想调用片段中的一些方法。

我试图解决这个问题,我注册了广播接收器以在位置开启/关闭时获取更新 -

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 - 如何在用户更改位置提供程序状态后从接收器调用片段方法以继续执行我的代码?

您可以使用FragmentManager.findfragmentbytag来查找所需的片段,然后调用相应的方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM