Теперь, когда в Манифесте невозможно установить фильтр намерений PROVIDERS_CHANGED
, я делаю это динамически.
Однако мне нужно зарегистрировать / отменить регистрацию динамически закодированного приемника в нескольких местах.
В связи с этим я создаю «вспомогательный» класс, который содержит статический метод с кодом Receiver.
МОЙ ВОПРОС: Я не могу понять, как получить контекст для регистрации / отмены регистрации получателя.
Вот мой текущий код:
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
правильным способом сделать это?