Install4J Зарегистрировать пользовательский URI Mac - PullRequest
0 голосов
/ 04 июля 2018

Я создал приложение на основе Java Swing, которое отображает пользовательский интерфейс при выполнении и выполняет некоторые задачи через аргументы командной строки и закрывает. Я хочу зарегистрировать для него пользовательский URI, чтобы при щелчке по URL-адресу, например, xxx: //, в браузере открывалось мое приложение, в котором в командной строке передавался URI.

Для Windows я достиг этого, создав настраиваемое действие для создания необходимых записей реестра, которое использует JavaW.exe для запуска моего приложения с использованием URI-адресов в качестве параметра. Это работает нормально.

Для компьютеров Mac я добавил записи в info.plst, теперь эта запись регистрирует установленное приложение с пользовательским URI, но проблема, с которой я сталкиваюсь, заключается в том, что мой исполняемый файл JAR не получает URI в качестве аргумента командной строки. Пожалуйста, дайте мне знать, как заставить это работать с install4j (или любым другим пользовательским кодом, если мне может понадобиться сделать это в пользовательском действии Java).

1 Ответ

0 голосов
/ 04 июля 2018

install4j не предоставляет фасад для обработки URI. Вы должны использовать macOS-специфичный API в JDK:

import com.apple.eawt.*;
...
Application.getApplication().setOpenURIHandler(new OpenURIHandler() {
    @Override
    public void openURI(AppEvent.OpenURIEvent openURIEvent) {
        URI uri = openURIEvent.getURI();
        //TODO handle uri
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...