Eine PDF-Datei aus dem Assets-Ordner lesen
Problem:
In einer Android-Anwendung Versuche, eine PDF-Datei aus dem Ordner „Assets“ mithilfe des bereitgestellten Codes zu lesen, führen zur Fehlermeldung „Der Dateipfad ist ungültig.“
Code:
Der relevante Der Codeabschnitt lautet wie folgt:
<code class="java">File file = new File("android.resource://com.project.datastructure/assets/abc.pdf"); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(file), "application/pdf"); startActivity(intent);</code>
Lösung:
Das Problem liegt im Pfad, der zum Dateiobjekt bereitgestellt wird. Der richtige Pfad sollte die PDF-Datei mit getAssets() aus dem Assets-Ordner abrufen.
<code class="java">AssetManager assetManager = getAssets(); InputStream in = assetManager.open("abc.pdf"); OutputStream out = openFileOutput("abc.pdf", Context.MODE_WORLD_READABLE); // Copy PDF file to internal storage copyFile(in, out); // Create Intent and URI for file in internal storage Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse("file://" + getFilesDir() + "/abc.pdf"), "application/pdf"); startActivity(intent);</code>
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWarum gibt meine Android-App die Fehlermeldung „Der Dateipfad ist ungültig' aus, wenn sie versucht, eine PDF-Datei aus dem Assets-Ordner zu lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!