Abrir pdf desde aplicacion android

Z

Intento abrir un pdf desde mi aplicación y bueno vi este ejemplo pero en la ruta del File no se que poner , tengo un fichero pdf en la carpeta assets, probé con "file:///android_assets/archivo.pdf" y no va ,también probé poniendo la ruta de un archivo remoto y tampoco va ,alguien sabe como debo poner la ruta para acceder a la carpeta assets..o a la que sea.

File file=new File("aqui va la ruta que no se que poner");
			if(file.exists())
			{
			    Uri path=Uri.fromFile(file);
			    Intent intent=new Intent(Intent.ACTION_VIEW);
			    intent.setDataAndType(path, "application/pdf");

		    try{
		        startActivity(intent);
		    }
		    catch(ActivityNotFoundException e){
		        Toast.makeText(context, "No software for PDF", Toast.LENGTH_SHORT).show();
		    }
		}else{
			Toast.makeText(context, "No se encontro ningun archivo", Toast.LENGTH_SHORT).show();
		}
gonya707

edit, me he colado, un segundo que investigue

Investigando he encontrado esto, prueba a ver que tal:

File file = new File(getFilesDir(), "fileName.pdf");
2 respuestas
Z

#2 no va getAssets().open("asdf.pdf" ); devuelve un inputstream no un string

1 respuesta
gonya707

#3 he editado, eres rapido forastero xDDD

Z

#2 Con esto tampoco me encuentra el fichero :(

1 respuesta
gonya707

#5 y que tal con

String url = Uri.parse("file:///android:asset/filename.pdf")
1 respuesta
Z

#6 Con esto tampoco

Uri url = Uri.parse("file:///android:asset/miarchivo.pdf");
 File file=new File(url.toString());

puse el archivo es res y probe con

File file = new File("android.resource://com.android.was4fi/"+R.drawable.miarchivo); 

y tampoco..

Daredevil

Prueba a acceder con una ruta relativa

File file = new File ("/assets/filename.pdf");

Edito: Y con respecto a lo de que te devuelve un inputStream el getassets(), lo conviertes a string que es lo que necesitas para el constructor del File y listo...

Editado2: No se debe postear sin leer bien... pensé que obtenías la ruta con el get, pero veo que lo que hace ese método no tiene que ver con la ruta del fichero.

Usuarios habituales