Электронное событие 'open-url' не запускается, пока приложение не работает в фоновом режиме - PullRequest
0 голосов
/ 10 декабря 2018

Когда я запускаю свое электронное приложение на macOS, я хочу прочитать все параметры, идущие с deeplinkingUrl.Я могу получить команду deeplinkingUrl, считывающую его из process.argv, когда мое приложение вызывается по протоколу в Windows.Но это невозможно в macOS, потому что process.argv выдает -psn... и дает этот параметр только один раз, когда приложение запускается в первый раз.

Я хочу вызвать open-url через вызов протоколаиз браузера, пока мое приложение не работает в фоновом режиме на MacOS.Но это событие вызывается только во время работы приложения.Пока приложение не запущено, оно будет отображаться, но оно не будет перемещаться в соответствии с операцией, которая идет с deeplinkingUrl.

Я также написал те в package.json:

"protocols": {
  "name": "My App",
  "schemes": [
    "myapp"
  ]
}

Те из electron.js:

let clickToCallObj = {};
let deeplinkingUrl;
let mainWindow;

app.on('open-url', (event, url) => {
    event.preventDefault();

    const isDefaultProtocolClientSet = app.isDefaultProtocolClient('myapp');

    deeplinkingUrl = url;

    clickToCallObj.operation = utils.getOperation(deeplinkingUrl); //e.g. myapp:/call/12345 -> operation: call

    if (mainWindow && isDefaultProtocolClientSet) {
        mainWindow.isMinimized() ? mainWindow.restore() : null;
        mainWindow.focus();

        sendClickToCallEvent(clickToCallObj, deeplinkingUrl); //takes the action with coming operation and deeplinkingUrl
    }
});

Итак, как я могу получить deeplinkingUrl при вызовемое приложение на macOS, пока оно не работает в фоновом режиме?

...