检查是否在原生A​​ndroid模块中启用了开发者模式

时间:2018-06-20 12:52:04

标签: react-native

我正在为我的React Native应用程序开发一个Android本机模块。我想检查是否启用了开发人员模式,并相应地打开或关闭WebView中的Web内容调试。

这是我尝试过的:

boolean devSupportIsEnabled;
ReactActivity reactActivity = (ReactActivity) getModule().getActivity();
if (reactActivity != null) {
    devSupportIsEnabled = reactActivity
        .getReactInstanceManager()
        .getDevSupportManager()
        .getDevSupportEnabled();
} else {
    devSupportIsEnabled = false;
}

不幸的是,由于ReactActivity.getReactInstanceManager()protected,因此无法编译。

也有ReactBuildConfig.DEBUG属性,但由于某些原因,它始终是false

还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

如果包ReactInstanceManager的实例继承自ReactInstancePackage

public class MyPackage extends ReactInstancePackage {

    @Override
    public List<NativeModule> createNativeModules(ReactApplicationContext reactContext, ReactInstanceManager reactInstanceManager) {
        // store the provided instance of ReactInstanceManager
        this.reactInstanceManager = reactInstanceManager;

        // ...
    }
    //...
}

此实例可稍后用于检查是否启用了开发模式:

boolean devModeIsEnabled = this.reactInstanceManager
    .getDevSupportManager()
    .getDevSupportEnabled();