Listo, entonces lo mejor que podes hacer es lo siguiente. Vos mismo creas las (se me olvido el nombre tecnico, pero vos decis que software abre que tipo de archivo), y luego, cuando se abra ese tipo de archivo lo abris con el programa que escogiste. Algo asi como el explorador de windows.
Digamos, si queres abrir en archivo "archivo.txt"
Aplicacion="notepad.exe archivo.txt";
Process proceso = Runtine.getRuntme().exec(Aplicacion);
No estoy completamente seguro que asi funcione con todos los programas, pero esa es la idea. Si necesitas saber que comando se necesita para abrir un tipo de archivo, puedes abrir el explorador de windows, le das opciones de carpetas, te vas a asociaciones (ese es el nombre) y ahi buscas el tipo de archivo que queres abrir. Le das editar o algo asi y te fijas en el comado exacto.
Ensaya ya y me contas.