Saya ingin mendapatkan jalur file lengkap, dari URI. URI bukanlah Gambar, tetapi ini file musik, tetapi jika saya melakukannya seperti Solusi MediaStore, URI tidak akan berfungsi jika pengguna aplikasi memilih misalnya Astro sebagai browser, bukan Pemutar Musik. Bagaimana cara mengatasi ini?
100
content://
atau Uri non-file lainnya.Metode PathUtil hanya akan bekerja di bawah oreo dan jika oreo daripada kemungkinan akan crash karena di oreo kita tidak akan mendapatkan id tetapi seluruh jalur di data.getData () jadi yang perlu Anda lakukan hanyalah membuat file dari uri dan dapatkan jalurnya dari getPath () dan pisahkan. di bawah ini adalah kode yang berfungsi: -
Kode di atas akan berfungsi di oreo dan jika di bawah oreo maka PathUtil akan berfungsi.
PathUtil.java
sumber
Dapatkan jalur dari URI Gunakan kelas di bawah ini untuk android semua versi. mengakses semua jenis File .
sumber
Coba ini.
sumber
null
Anda dapat menggunakan get File path dari berbagai versi SDk
Gunakan RealPathUtils untuk itu
** Sekarang dapatkan Path file dari URI **
sumber
salah satu jawaban yang ada di halaman saat ini ( ini ), benar tetapi ada beberapa kesalahan. misalnya, ini tidak akan berfungsi pada perangkat dengan API 29+. Saya akan memperbarui kode di atas dan memposting versi barunya. Saya pikir posting ini harus ditandai sebagai jawaban akhir.
Kode yang diperbarui: ( Menambahkan dukungan WhatsApp )
sumber
dalam file build.gradle tambahkan ini
Sekarang teleponlah
FileUtils.getPath(context, uri);
dari kelas utama Anda.sumber
Saya tahu ini telah dijawab. Tetapi ada beberapa masalah yang saya temukan di komentar. Saya menemukan solusi andal hebat yang berasal dari sini
untuk menggunakannya
File file=FileUtils.getFile(uri);
sumber
Kode potongan ketika Anda menerima jalur file.
Di bawah ini adalah kelas yang dapat diakses dengan membuat objek baru. Anda juga perlu menambahkan ketergantungan pada gradel
implementation 'org.apache.directory.studio:org.apache.commons.io:2.4'
sumber
Untuk mendapatkan jalur file apa pun, gunakan ini (diambil dari https://github.com/iPaulPro/aFileChooser )
sumber
Saya mengalami kesulitan mencoba mencari tahu ini di Xamarin. Dari saran di atas saya menemukan solusi ini.
sumber
Android 7.0
Column_Index adalah-1
saat memilih file menggunakanActionContentGet
dan mengetik*/*
untuk katakanlah PDFJawaban @SAParkhid di kotlin.
sumber
sumber