android - 如何在 Android 服务中获取 ReactContext?

标签 android react-native android-intent android-service android-context

我想从 ReactNative 代码开始我的服务。
这是我用来桥接的模块。

public class HeartbeatModule extends ReactContextBaseJavaModule {
    public static final String REACT_CLASS = "Heartbeat";
    private static ReactApplicationContext reactContext;

    public HeartbeatModule(@Nonnull ReactApplicationContext reactContext) {
      super(reactContext);
      this.reactContext = reactContext;
    }

    @Nonnull
    @Override
    public String getName() {
      return REACT_CLASS;
    }

    @ReactMethod
     public void startService() {
     // Starting the heartbeat service

     this.reactContext.startService(new Intent(this.reactContext, HeartbeatService.class));
     }


    @ReactMethod
    public void stopService() {
        // Starting the heartbeat service

        this.reactContext.stopService(new Intent(this.reactContext, HeartbeatService.class));
    }
}

我的问题是如何在我的服务中访问这个 reactContext。
以及服务重启时如何维持。

最佳答案

您可以通过 react code 启动服务。由 React Method 注释的 start Service 方法将在 react 代码中可用。您的代码中应该有 index js 文件,并尝试导入包 make call 以启动服务。

关于android - 如何在 Android 服务中获取 ReactContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59029616/

相关文章:

react-native - 使用 native 调试器查看网络流量

android - android中调用结束过程的 Action 事件

android - 用于 WALLPAPER_CHANGED 的 BroadcastReceiver 多次调用 onReceive() : Android

android - 使用proguard签名的APK会显示IncompatibleClassChangeError

android - RadioGroup 可以检查所有答案

javascript - React Native 不触发 Console.log

javascript - 从 React Native Android 原生地执行 JavaScript 代码

android - 在android中播放音频

android - 我可以阻止快捷方式 (android.intent.action.CREATE_SHORTCUT) 出现在启动器的添加小部件部分吗?

android - Adb emu 命令有时不起作用