Протокол в URLStreamHandler будет использоваться внутри jvm. Типичное использование это что-то вроде res: // ... для ресурсов. ОС и браузеры имеют свои собственные наборы протоколов (ftp, mailto).
Вы, вероятно, могли бы расширить Firefox с помощью плагина для обработки вашего протокола.
Но затем вы должны отправить это в свое приложение, работая в качестве небольшого «веб-сервера».
Забудьте на мгновение URLStreamHandler.
Вставьте веб-сервер Jetty в ваше приложение, скажем, через порт 8765, и напишите сервлет для обработки ваших URL-адресов. Тогда вы можете в вашем браузере набрать "http://localhost:8765/do_this". должно хватить.