【问题标题】:Access java variables from javacode to javascript code in react-native在 react-native 中将 java 变量从 java 代码访问到 javascript 代码
【发布时间】:2016-10-17 12:48:26
【问题描述】:

我想将 android 代码中 MyActivity.java 文件中的字符串变量访问到我在 react-native 中的 javascript 文件中。

我正在使用代码访问 android ID:

String android_id = Secure.getString(this.getContentResolver(), Secure.ANDROID_ID);

现在我想在 react-native 的 javascript 代码中访问这个 android_id。

如何实现??

【问题讨论】:

    标签: android variables react-native


    【解决方案1】:

    在 MainActivity 中覆盖 getLaunchOptions:

    public class MainActivity extends ReactActivity {
    ...
      @Override
      protected @Nullable Bundle getLaunchOptions() {
        Bundle bundle = new Bundle();
        String android_id = Secure.getString(this.getContentResolver(), Secure.ANDROID_ID);
        bundle.putString("android_id", android_id);
        return bundle;
      }
    ...
    }
    

    在您的 React 根组件中,您现在可以访问 this.props.android_id。从那里您可以将其传递到您需要的任何地方。

    【讨论】:

    • 在实现上述答案后出现以下错误-----error: method does not override or implement a method from a supertype @Override
    • 你有没有把扩展 ReactActivity 的方法放在你的 MainActivity 中?
    • 嗯,好的。然后删除@Override。并在第 38 行将 null 替换为 getLaunchOptions()
    • 现在我收到这个错误----错误:MainActivity 不是抽象的,并且不会覆盖 ReactActivity 中的抽象方法 getPackages() public class MainActivity extends ReactActivity implements DefaultHardwareBackBtnHandler {
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多