Lire un fichier PDF à partir du dossier Assets
Problème :
Lors de la lecture d'un fichier PDF à partir du dossier de l'application dossier d'actifs, un message d'erreur "Le chemin du fichier n'est pas valide" s'affiche après la sélection d'une application pour ouvrir le fichier.
Solution :
Le problème réside dans le chemin du fichier vers le fichier PDF. Pour rectifier cela, suivez ces étapes :
1. Copiez le fichier PDF dans le répertoire des fichiers de l'application
<code class="java">private void CopyReadAssets() { AssetManager assetManager = getAssets(); InputStream in = null; OutputStream out = null; File file = new File(getFilesDir(), "abc.pdf"); try { in = assetManager.open("abc.pdf"); out = openFileOutput(file.getName(), Context.MODE_WORLD_READABLE); copyFile(in, out); in.close(); in = null; out.flush(); out.close(); out = null; } catch (Exception e) { Log.e("tag", e.getMessage()); } }</code>
Ce code copie le fichier "abc.pdf" du dossier des ressources vers le répertoire des fichiers de l'application, garantissant que vous avez accès au fichier.
2. Mettre à jour l'intention d'utiliser le nouveau chemin de fichier
<code class="java">Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType( Uri.parse("file://" + getFilesDir() + "/abc.pdf"), "application/pdf");</code>
Ce code met à jour l'intention pour pointer vers le fichier PDF copié dans le répertoire de fichiers de l'application.
3. Ajouter l'autorisation d'écrire sur le stockage externe
<code class="xml"><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /></code>
Ajoutez cette autorisation au fichier AndroidManifest.xml pour accorder à l'application l'autorisation d'accéder au stockage externe pour les opérations sur les fichiers.
Maintenant, le L'application doit lire et afficher avec succès le fichier PDF lorsque l'utilisateur clique sur le bouton DOCS.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!