Я использую следующий код для доступа к браузеру по умолчанию из Java при нажатии кнопки:
if( !java.awt.Desktop.isDesktopSupported() ) {
System.err.println( "Desktop is not supported (fatal)" );
}
java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
if( !desktop.isSupported( java.awt.Desktop.Action.BROWSE ) ) {
System.err.println( "Desktop doesn't support the browse action (fatal)" );
}
String number = txtInCall.getText();
String uriString = "http://localwebserver/new?number="+number;
//number only contains numbers similar to 023456789
try {
java.net.URI uri = new java.net.URI( uriString );
desktop.browse( uri );
}
catch ( Exception ex ) {
System.err.println( ex.getMessage() );
}
Программа хорошо работает на Windows 7 Home Premium x64.Если я тестирую его на Windows XP Professional x32 SP3, консоль возвращает: «Запрошенный ключ поиска не найден ни в одном активном контексте активации».
Я прогуглил об этом и обнаружил, что ошибка возникает в связи сИнтернет Исследуй.Браузером по умолчанию на протестированных машинах является Mozilla Firefox 6.0.2.Я также проверил реестр, http-протокол зарегистрирован для firefox.exe и обновил IE.
Другой вопрос об этой ошибке мне тоже не помог.На машине XP щелчок всегда возвращает упомянутую ошибку.