Android - 从静态 'helper' 方法注册接收器(无法获取上下文)?

Android - Registering a Receiver from a Static 'helper' Method (can't get context)?

现在 PROVIDERS_CHANGED intent-filter 无法在 Manifest 中设置,我正在动态设置。
但是,我需要在多个地方 register/unregister 动态编码的接收器。
因此,我正在创建一个 "Helper" Class,其中包含一个带有 Receiver 代码的静态方法。

我的问题: 我似乎无法弄清楚如何获取上下文以便 register/unregister 接收者。

这是我当前的代码:

public class GpsReceiverHelper {

public static void gpsReceiverCode() {

    IntentFilter intentFilter = new IntentFilter();
    intentFilter.addAction("android.location.PROVIDERS_CHANGED");

    final BroadcastReceiver gpsReceiver = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {

            if (intent.getAction() != null &&
                    intent.getAction().matches("android.location.PROVIDERS_CHANGED")) {

                //  RECEIVER CODE HERE

            }
        }
    };
    this.registerReceiver(gpsReceiver, intentFilter);
    //  THIS IS WHERE I CAN'T GET A CONTEXT (USING "this" OR OTHERWISE)

}
}

我的问题:
(A) - 我怎样才能在这里检索 context
(B) - 使用 public static 方法创建助手 class 是正确的方法吗?

How can I go about retrieving a context here?

作为参数传入(public static void gpsReceiverCode(Context context))。

I need to register/unregister the dynamically coded Receiver in multiple places

当您的接收器在清单中时,它 "registered" 在一个地方。因此,当您动态执行时,您可以在一个地方注册它(例如,自定义 Application 子类)。

Is creating a helper class with a public static method the right way to be doing this?

可能不需要,因为您可能不需要在 2 个以上的地方使用此代码。