Abrir navegador predeterminado con Java
Para abrir un un navegador con código en java, bastará con pensar un poco y con saber:
- Determinar sistema operativo con java
- usar la consola para abrir un archivo ejecutable con parámetros(la url)
- dependiendo que sistema se use varia los comando de consola a utlizar.
- Ejecutar la consola desde java
Determinar Sistema
Muy resumidamente para determinar el sistema:
System.getProperty("os.name");
Utilizar consola para abrir un ejecutable
- Para abrir el navegador por defecto que tenga instalado 'windows'
rundll32 url.dll,FileProtocolHandler + url
- Para hacer lo propio en la termina de algunas de las distribuciones de 'linux'
x-www-browser + url
xdg-open + url
sensible-browser + url
- En sistemas operativos de la marca de la manzanita, como 'OSX'
open + url
Ejecutar Consola con código java
Para ejecutar la consola desde java se utiliza el siguiente trozo de código donde el comando depende del sistema operativo.
Runtime.getRuntime().exec(String command);
Abrir navegador predeterminado con código java
Para poder tener unos metodos, los cuáles abran una ventana del navegador predeterminado del sistema o uno especifico a la url que le definamos como parámetro:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | package com.zubaray; import java.io.IOException; public class OpenBrowser { private String direccion = "https://dar10comyr.blogspot.com.ar/"; //NAVEGADOR POR DEFECTO POR SISTEMA public void abrirNavegadorPredeterminadorWindows(String url) throws IOException{ Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url); } public void abrirNavegadorPredeterminadorLinux(String url) throws IOException{ Runtime.getRuntime().exec("xdg-open " + url); } public void abrirNavegadorPredeterminadorMacOsx(String url) throws IOException{ Runtime.getRuntime().exec("open " + url); } //NAVEGADOR POR DEFECTO GENERICO public void abrirNavegadorPorDefecto(String url) throws IOException{ String osName = System.getProperty("os.name"); if(osName.contains("Windows")) abrirNavegadorPredeterminadorWindows(url); else if(osName.contains("Linux")) abrirNavegadorPredeterminadorLinux(url); else if(osName.contains("Mac OS X")) abrirNavegadorPredeterminadorMacOsx(url); else{ //INFORMAR SISTEMA NO SOPORTADO } } // MAIN public static void main(String[] dar10) throws IOException { OpenBrowser op = new OpenBrowser(); op.abrirNavegadorPorDefecto(op.direccion); } } |
No hay comentarios:
Publicar un comentario