Когда я запускаю свое электронное приложение на 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, пока оно не работает в фоновом режиме?