ورود

View Full Version : عدم نمایش محتویات کارت حافظه هنگام انتخاب فایل



samiasoft
سه شنبه 20 شهریور 1397, 20:42 عصر
سلام دوستان

نمیدانم بیشتر از کدام کتابخانه 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 تا کتابخانه فایل پیکر برخلاف این به درستی مسیر رو نمایش میدهند.
به نظرتون برای حل این مشکل چیکار باید کرد ؟
ناگفته نماند دسترسی یا همون پرمیشن رو هم حین اجرا از کاربر دریافت میکنم همیشه

samiasoft
جمعه 23 شهریور 1397, 14:54 عصر
بالاخره تونستم مشکل رو حل کنم

در کتابخانه
https://github.com/nbsp-team/MaterialFilePicker
مسیر رو این چنین تعریف کردم و الان کارت حافظه رو هم به درستی نمایش داد و محل انتخاب شده فایل ها رو هم به درستی نمایش میدهد.

.withRootPath("/storage")

اما در مورد مشکل دوم یعنی بدون استفاده از این کتابخانه ها چرا نمیتونیم مسیر دقیق رو بدست بیاریم؟!