کلیدستان

نسخه‌ی کامل: چگونه به حافظه خارجی (مموری کارت) گوشی در برنامه نویسی اندروید دسترسی پیدا کنیم؟
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با درود. من میخواهم فایل های صوتی را اگر در حافظه داخلی کاربر نباشد از مموری کارت پخش کنم.
چگونه به حافظه خارجی (مموری کارت) گوشی دسترسی پیدا کنیم؟
متاسفانه در هر مدل گوشی اندروید مسیر مموری کارت متفاوت است. برای مثال:
"Galaxy S3 android 4.4:  "/mnt/extSdCard 
"Honor 7c android 8:  "/mnt/ext_sdcard
همچنین در چند مدل گوشی مثل نوکیا5 و شیائومی redmi3s این مسیر را پیدا نکردم.
این کد هایی است که تا اینجا نوشتم. ممنون میشم راهنمایی کنید: 




کد:
try {

File root = Environment.getExternalStorageDirectory();
String audioPath = root.getAbsolutePath() + "/telavatquran/naba.mp3";

            FileInputStream fis = new FileInputStream(audioPath);

            fd = fis.getFD();

            if (fd != null) {
                player.setDataSource(fd);
                player.prepare();
                player.start();

            } else if (new File("/mnt/sdcard/external_sd/").exists()) {
                seekUpdation();
                player.setDataSource("/mnt/sdcard/external_sd/telavatquran/naba.mp3/");
                player.prepare();
                player.start();

            } else if (new File("/storage/extSdCard/").exists()) {
                seekUpdation();
                player.setDataSource("/storage/extSdCard/telavatquran/naba.mp3/");
                player.prepare();
                player.start();

            } else if (new File("/mnt/extSdCard/").exists()) {
                seekUpdation();
                player.setDataSource("/mnt/extSdCard/telavatquran/naba.mp3/");
                player.prepare();
                player.start();

            } else if (new File("/mnt/sdcard/external_sd/").exists()) {
                seekUpdation();
                player.setDataSource("/mnt/sdcard/external_sd/telavatquran/naba.mp3/");
                player.prepare();
                player.start();

            } else if (new File("storage/sdcard1/").exists()) {
                seekUpdation();
                player.setDataSource("storage/sdcard1/telavatquran/naba.mp3/");
                player.prepare();
                player.start();

            } else if (new File("/mnt/ext_sdcard/").exists()) {
                seekUpdation();
                player.setDataSource("/mnt/ext_sdcard/telavatquran/naba.mp3/");
                player.prepare();
                player.start();

            }
} catch (Exception e) {

                }
سلام

با استاده از کد زیر می توانید مسیر حافظه خارجی رو بدست آورید

کد:
File root = android.os.Environment.getExternalStorageDirectory();
root.getAbsolutePath()

یا می توانید از مطالب لینک زیر استفاده کنید

به دست آوردن آدرس مسیر حافظه خارجی (external storage)، در برنامه نویسی اندروید

https://www.kelidestan.com/keys/keys.php?key=279