вернуть объект из родного модуля Android, чтобы реагировать на родной - PullRequest
0 голосов
/ 29 мая 2019

Я создаю объект Socket IO в нативном модуле и вызываю его из реагировать на нативный. Как только объект Socket создан в собственном модуле, я хочу использовать его в своем собственном приложении реакции.

Причина, по которой я создаю сокет внутри собственного модуля, заключается в создании фоновой службы, которая будет поддерживать мой сокет до тех пор, пока приложение не будет уничтожено.

Я уже пробовал записываемую карту, но безуспешно. Но если я возвращаю простую строку, она работает нормально.

Код Android:


 @ReactMethod
    public void getSocket(String SocketURL, String CountryCode, String IP, String ConfigURL, String CSID, String CountryName, Promise promise) {

        try {

            IO.Options opts = new IO.Options();
            opts.reconnection = true;
            opts.secure = true;
            opts.transports = new String[]{"websocket", "polling"};
            opts.query = "location=" + CountryCode + "&ip=" + IP + "&currentPage=" + ConfigURL + "&csid=" + CSID + "&fullCountryName=" + CountryName;
            opts.reconnectionDelay = 1000;

            System.out.print(opts);
            mSocket = IO.socket(SocketURL, opts);

            System.out.print("Socket inside native call" + mSocket);

            promise.resolve(mSocket);
        } catch (Exception e) {
            System.out.print(e);
            promise.reject(e.toString());

        }
    }

Реагирует родная часть:


  try {
    SOCKET = await NativeModules.Device.getSocket(SOCKET_LIVE_SERVER + SOCKET_CONFIG.nsp, SOCKET_CONFIG.countryCode, SOCKET_CONFIG.ip, SOCKET_CONFIG.url, SOCKET_CONFIG.csid, SOCKET_CONFIG.countryName)

    console.log('native socket', SOCKET)
  }
  catch (e) {
    console.error(e)
  }

Я просто хочу создать Socket в собственном модуле, а затем вернуть объект сокета, чтобы я мог использовать его в своем собственном родном приложении

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...