如何在拦截器中获取应用程序上下文

时间:2018-10-31 11:27:55

标签: android applicationcontext

我想使用okhttp拦截器(在改造类内部构建)将日志添加到sentry,在其中可以添加多个标记以及错误,例如,我添加了正在处理应用程序的用户(名称)(存储在sharedpreferences中),并带有示例代码,例如 eventBuilder.withTag(SentryConstants.TYPE_CUSTOMER_NAME, customer.getFirstname());

我有一个静态的Retrofit类,这样我就可以一次构建它并用于每个api调用,由于要访问用户,我需要共享首选项的applicationcontext,我有3种添加日志的方式

1)来自我使用getApplicationContext()来改进类的api传递上下文的活动中

  • 这使我创建了一个非静态类,因为我必须将上下文作为参数传递

2)在活动中进行api(retrofit)调用之前,我可以将其记录到哨兵中

  • 我获得了静态改造类的优势,但失去了中央记录系统(我必须确保每次都记录一次)

3)使用here

所述的上下文创建静态类
  • 不建议使用此方法,将来我可能还会有其他选择,这些片段正在调用api

推荐的方法是什么

0 个答案:

没有答案