我需要SharedPreferences在attachBaseContext我的活动中访问我的实例(所以我可以在那里设置语言环境),但注入的SharedPreferences实例在那里不可用,因为注入发生在调用onCreate后运行的方法中attachBaseContext。我正在使用 dagger2 进行依赖注入。
知道如何避免创建新SharedPreferences实例吗?
编辑:
好的,所以我认为问题是我试图过多地使用匕首,我认为在这种情况下它根本不合适。在attachBaseContext每个活动的我有更新的语言环境,我这个提取更新逻辑到LocaleManager其需要访问SharedPreferences实例和Context我进去attachBaseContext。该SharedPreferences实例已经在 中AppModule,但我仍然无法将@Inject其添加到attachBaseContext调用之前的活动中,因为活动的注入发生在 之后attachBaseContext。