Baca Fail PDF daripada Folder Aset
Masalah:
Dalam aplikasi Android, cuba membaca fail PDF daripada folder aset menggunakan kod yang disediakan menghasilkan mesej ralat "Laluan fail tidak sah."
Kod:
Yang berkaitan bahagian kod adalah seperti berikut:
<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>
Penyelesaian:
Isunya terletak pada laluan yang disediakan kepada objek Fail. Laluan yang betul harus mendapatkan semula fail PDF daripada folder aset menggunakan getAssets().
<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>
Nota Tambahan:
Atas ialah kandungan terperinci Mengapakah apl Android saya membuang ralat \'Laluan fail tidak sah\' semasa cuba membaca PDF daripada folder aset?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!