检查是否在原生 Android 模块中启用了开发者模式 [英] Check if developer mode is enabled in a native Android module
问题描述
我正在为我的 React Native 应用开发原生 Android 模块.我想检查是否启用了开发者模式并相应地打开或关闭 WebView
中的网页内容调试.
I am working on a native Android module for my React Native app. I would like to check if the developer mode is enabled and turn web content debugging in WebView
on or off accordingly.
这是我尝试过的:
boolean devSupportIsEnabled;
ReactActivity reactActivity = (ReactActivity) getModule().getActivity();
if (reactActivity != null) {
devSupportIsEnabled = reactActivity
.getReactInstanceManager()
.getDevSupportManager()
.getDevSupportEnabled();
} else {
devSupportIsEnabled = false;
}
不幸的是,这不会编译,因为 ReactActivity.getReactInstanceManager()
是 protected
.
Unfortunately, this does not compile because ReactActivity.getReactInstanceManager()
is protected
.
还有 ReactBuildConfig.DEBUG
属性,但由于某种原因它总是 false
.
There is also the ReactBuildConfig.DEBUG
property, but it is always false
for some reason.
有其他替代方法吗?
推荐答案
ReactInstanceManager
的一个实例,如果继承自 ReactInstancePackage
就可以通过包获得:
An instance of ReactInstanceManager
can be obtained by the package if it inherits from ReactInstancePackage
:
public class MyPackage extends ReactInstancePackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext, ReactInstanceManager reactInstanceManager) {
// store the provided instance of ReactInstanceManager
this.reactInstanceManager = reactInstanceManager;
// ...
}
//...
}
这个实例可以稍后用来检查是否启用了开发模式:
This instance can be used later to check whether the dev mode is enabled:
boolean devModeIsEnabled = this.reactInstanceManager
.getDevSupportManager()
.getDevSupportEnabled();
这篇关于检查是否在原生 Android 模块中启用了开发者模式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!