如何在Android服务中获取ReactContext?

4

我希望从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。以及如何在服务重新启动时保持它。


你找到解决方案了吗? - Keselme
1个回答

0

您可以通过React代码启动服务。使用@ReactMethod注释的startService方法将在React代码中可用。您的代码中应该有index.js文件,并尝试导入包并调用startService。


Recontext无法访问服务,您可以在服务中使用Broadcast接收器,并从服务中获取数据到ReactContextBaseJavaModule。 - Manisha
无法工作。因为他在JAVA代码中询问,您不能直接将ReactContext发送到Service。 - kamlesh parmar
@Manisha,这是问题的唯一解决方案吗? - Keselme

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,