سلام دوستان
نمیدانم بیشتر از کدام کتابخانه file picker برای انتخاب فایل استفاده میکنید اما من فکر میکنم این 2 بهترین گزینه باشند :
https://github.com/Angads25/android-filepicker
https://github.com/nbsp-team/MaterialFilePicker
مساله ای که متوجه شدم این هست که اینا فقط امکان دسترسی به فایل های حافظه داخلی گوشی رو میدن و اصلا فایل های کارت حافظه رو نمایش نمیدهند.
ایا برای تنظیم کردن نمایش انها راهی هست ؟
شاید بگید خب چرا برای انتخاب فایل بدون استفاده از کتابخانه ها بدین صورت استفاده نمیکنی :
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(intent, 1);
مشکلی که این حالت داره در اندروید های بالاتر مثل 6 و 7 و 8 مسیر فایلی که از ریزالت دریافت میکنیم دقیق نیست ! درحالی که دراندروید های 4 به درستی مسیر رو نمایش میده
برای مثال فایل sample.pdf رو وقتی انتخاب میکنم اینطوری مسیرشو نشون میده:
/docment/primary:sample.pdf
درحالی که باید اینطور نمایش میداد :
/stroge/emulated/0/sample.pdf
اون 2 تا کتابخانه فایل پیکر برخلاف این به درستی مسیر رو نمایش میدهند.
به نظرتون برای حل این مشکل چیکار باید کرد ؟
ناگفته نماند دسترسی یا همون پرمیشن رو هم حین اجرا از کاربر دریافت میکنم همیشه