Error de archivo no encontrado después de seleccionar un archivo en android
Quiero abrir un archivo. Pdf en mi app.now android puedo navegar por el archivo pdf y después de navegar por el archivo que estoy recibiendo el archivo no se encontró el error cuando compruebo el archivo existe o no. Ahora, después de seleccionar el archivo mi archivo seleccionado Uri data.getData()
es como
content://com.android.externalstorage.documents/document/6333-6131:SHIDHIN.pdf
- Enviar notificación push GCM por java
- android Espere entre actualizaciones de GridView
- Biblioteca de soporte de diseño de Android: NavigationView código fuente
- ¿Cómo hacer un botón que muestra el carácter de retroceso (⌫) en Android?
- FEN (notación de ajedrez) al generador de HTML? Java de código abierto
Y la ruta cuando data.getData().getPath().toString()
utilizando data.getData().getPath().toString()
es como
/document/6333-6131:SHIDHIN.pdf
Aquí está mi código. Por favor, ayúdame.
// To Browse the file Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("application/pdf"); startActivityForResult(intent, PICK_FILE_REQUEST);
Después de seleccionar el archivo
//onActivityResult public void onActivityResult(final int requestCode, int resultCode, Intent data) { try { switch (requestCode) { case PICK_FILE_REQUEST: if (resultCode == RESULT_OK) { try { Uri fileUri = data.getData(); String path = fileUri.getPath().toString(); File f = new File(path); if (f.exists()) { System.out.println("\n**** Uri :> "+fileUri.toString()); System.out.println("\n**** Path :> "+path.toString()); final Intent intent = new Intent(MainActivity.this, ViewPdf.class); intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, path); startActivity(intent); } else { System.out.println("\n**** File Not Exist :> "+path); } } catch (Exception e) { ShowDialog_Ok("Error", "Cannot Open File"); } } break; } } catch (Exception e) { } }
- Función de devolución de llamada Javascript a Android
- Permisos múltiples de Android 6.0
- Analizar objeto JSON con cadena y sólo valor
- Cómo hacer la reanudación de sesión SSL en Android
- Cómo instanciar la clase de fragmento usando el nombre de la clase en lugar del índice
- Eliminar datos de ArrayList con un For-loop
- Android: el reproductor de youtube ha sido lanzado
- Array Lista de objetos por intención
Esta no es la respuesta sino una solución.
File file = new File("some_temp_path"); # you can also use app's internal cache to store the file FileOutputStream fos = new FileOutputStream(file); InputStream is = context.getContentResolver().openInputStream(uri); byte[] buffer = new byte[1024]; int len = 0; try { len = is.read(buffer); while (len != -1) { fos.write(buffer, 0, len); len = is.read(buffer); } fos.close(); } catch (IOException e) { e.printStackTrace(); }
Pase la ruta absoluta de este archivo a su actividad.
button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { File pdfFile = new File(Environment.getExternalStorageDirectory(), "Case Study.pdf"); try { if (pdfFile.exists()) { Uri path = Uri.fromFile(pdfFile); Intent objIntent = new Intent(Intent.ACTION_VIEW); objIntent.setDataAndType(path, "application/pdf"); objIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(objIntent); } else { Toast.makeText(MainActivity.this, "File NotFound", Toast.LENGTH_SHORT).show(); } } catch (ActivityNotFoundException e) { Toast.makeText(MainActivity.this, "No Viewer Application Found", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); } } });
- ¿Se puede usar el rsForEach de RenderScript en un kernel no root?
- El parámetro setPictureSize de la cámara Android muestra una imagen con rayas