我正在构建一个 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";
}
}