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.