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