如何在ReactContextBaseJavaModule中获取ApplicationContext



我正在构建一个 React Native 应用程序,在 Android 代码的 react native 模块中,我希望访问 Android 代码使用的缓存文件的路径。

在某些时候,我正在应用程序数据的缓存中(从本机代码)编写一个 json 文件,我使用 getApplicationContext() 来获取上下文并应用 getCacheDir() 来获取缓存文件的路径。

在扩展ReactContextBaseJavaModule类中,我想访问应用程序上下文以获取缓存文件路径,但是在 React 上下文上调用getApplicationContext()并使用getCacheDir()时,返回的路径与之前返回的路径不同。

在反应本机模块中获取全局上下文的方法是什么?

干杯

ReactApplicationContext被传递给扩展ReactContextBaseJavaModule的类的构造函数。您可以致电ReactApplicationContext.getApplicationContext()以获取ApplicationContext

@Alan答案很棒,但我想添加一个代码片段以更清晰:

public class FlashModule extends ReactContextBaseJavaModule {
   Context context;
   FlashModule(ReactApplicationContext context) {
       super(context);
       this.context = context.getApplicationContext(); // This is where you get the context
   }
   @Override
   public String getName() {
      return "FlashModule";
   }
}

相关内容

  • 没有找到相关文章

最新更新