Javascript React Native:在后台使用AlarmManager从Java模块运行JS代码
我正在寻找从Java本机模块执行JS代码的方法。我用定时器找到了解决方案,但它使用回调,并且只有在应用程序处于后台时才有效() 我正在使用AlarmManager唤醒Java的BroadcastReceiver,但从现在起,我不知道如何运行Javascript代码。这段代码不是React组件,但它使用了一些React sdk和模块(facebooksdk、googlesdk、Keychain和Asyncstorage) 我尝试在设备EventEmitter上创建侦听器(由于),并在广播接收器中运行Javascript React Native:在后台使用AlarmManager从Java模块运行JS代码,javascript,android,react-native,alarmmanager,native-module,Javascript,Android,React Native,Alarmmanager,Native Module,我正在寻找从Java本机模块执行JS代码的方法。我用定时器找到了解决方案,但它使用回调,并且只有在应用程序处于后台时才有效() 我正在使用AlarmManager唤醒Java的BroadcastReceiver,但从现在起,我不知道如何运行Javascript代码。这段代码不是React组件,但它使用了一些React sdk和模块(facebooksdk、googlesdk、Keychain和Asyncstorage) 我尝试在设备EventEmitter上创建侦听器(由于),并在广播接收器中运
public class Alarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ReactApplicationContext contxt = (ReactApplicationContext) context;
contxt.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
.emit("runTask", null);
}
但我已抛出运行时错误:
Caused by: java.lang.ClassCastException: android.app.ReceiverRestrictedContext cannot be cast to com.facebook.react.bridge.ReactApplicationContext
也许在后台不可能从Java模块运行JS,尤其是当应用程序关闭时。欢迎提供任何提示。查看transistorsoft github帐户 具体而言: