Одним из способов, с помощью которого Steam позволяет пользователям запускать игры и выполнять множество других операций, является использование протоколов URI, например (из сообщества разработчиков Valve ):
steam://run/<id>
запустит игру, соответствующую указанному идентификатору.
steam://validate/<id>
проверит файлы игры с указанным идентификатором.
Как я могу заставить Java «запускать» их? Я даже не знаю, как вы это называете, то есть вы «запускаете» URI или «выполняете» их, или как? Потому что, безусловно, эти URI не должны ничего возвращать, а класс URI
в Java не имеет ничего общего с их «выполнением», однако URL
делает, но это не работает!
Я пробовал это:
...
try
{
URI testURI = URI.create("steam://run/240");
URL testURL = joinURI.toURL();
// URL testURL = new URL("steam://run/240") doesn't work either
joinURL.openConnection(); // Doesn't work
// joinURL.openStream() doesn't work either
}
catch (MalformedURLException e)
{
System.err.println(e.getMessage());
}
...
Каждая комбинация выдает ошибку: unknown protocol: steam
.
Система, которую Steam использует для обработки URI, определенно работает, потому что, например, я могу набрать вышеупомянутый URI в Firefox, и он работает.
Моя вечная благодарность человеку, который дает ответ!
Спасибо