DeviceEvenEmitter не работает, когда приложение заблокировано - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть приложение React Native, и я выбросил его из Экспо в ЭкспоКит.В нативном модуле я пытаюсь создать событие:

public void onHostPause() {
    unregisterVolumeReceiver();

    KeyguardManager myKM = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
    System.out.println('g');

    if(myKM.inKeyguardRestrictedInputMode()) {

        try {
            WritableMap params = Arguments.createMap(); // add here the data you want to send
            params.putString("event", "locked"); // <- example
            getReactApplicationContext()
                    .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
                    .emit("locked", params);
        } catch (Exception e){
            System.out.println(e);
        }
    }

}

В моем App.js у меня есть:

import { DeviceEventEmitter } from 'react-native';

componentDidMount() {

    DeviceEventEmitter.addListener('locked', () => {
    console.log('locked emitted');
}

}

Моя цель - рассказатьсторона реакции моего приложения, когда была нажата кнопка блокировки, но на данный момент DeviceEventEmitter.addListener не перехватывает событие, которое было отправлено.Есть идеи?

...