Как получить контекст приложения в перехватчиках - PullRequest
0 голосов
/ 31 октября 2018

Я хочу использовать okhttp interceptor (build in retrofit class) для добавления журналов в sentry , где несколько тегов могут быть добавлены вместе с ошибкой, например, я добавляю пользователя (имя), который обрабатывал приложение (который хранится в sharedpreferences) с примером кода, например eventBuilder.withTag(SentryConstants.TYPE_CUSTOMER_NAME, customer.getFirstname());

У меня есть статический класс Retrofit, так что я могу создать его один раз и использовать для каждого вызова API, так как для доступа к пользователю мне нужен applicationcontext для разделяемых настроек, у меня есть 3 способа добавления журналов

1) из действия, в котором я вызываю контекст API, используя getApplicationContext() для модернизации класса

  • Это заставляет меня создавать нестатический класс, так как я должен передать контекст в качестве параметра

2) перед выполнением вызова API (модернизации) в упражнении я могу записать его на часового

  • Я получаю преимущество статического класса модернизации, но теряю центральную систему регистрации (я должен убедиться, что я регистрирую каждый раз)

3) создать статический класс с контекстом, как упомянуто здесь

  • Не рекомендуемый способ, также в будущем у меня могут быть другие варианты, какой фрагмент вызывает API

Какой будет рекомендуемый подход

...