【问题标题】:How to get external sdcard path in android programming?如何在android编程中获取外部sdcard路径?
【发布时间】:2022-04-05 12:21:45
【问题描述】:

我想播放存储卡中的音频文件。

android编程中如何获取外部sdcard路径?

不幸的是,每个安卓手机型号都有不同的路径。例如:

Galaxy S3 android 4.4:存储卡存在路径:“/mnt/extSdCard/”

荣耀7c android 8:内存卡存在路径: "/mnt/ext_sdcard/"

我在诺基亚 5 和 android 9 和小米 Redmi 3s 和 android 6 中找不到路径。

 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) {

                }

感谢您的合作。

【问题讨论】:

标签: android external


【解决方案1】:
'this is a b4a code I used


Sub GetRootExternalSDCard() As String

Dim rp As RuntimePermissions
Dim Swriteablefolder  As List
Dim tempstr As String
Dim x As Int


Swriteablefolder=rp.GetAllSafeDirsExternal("")

'   For x=0 To Swriteablefolder.Size-1
'       Log(Swriteablefolder)
'   Next
tempstr=Swriteablefolder.Get(1)

x=tempstr.IndexOf("/Android")
Return tempstr.SubString2(0,x)

End Sub

【讨论】:

    猜你喜欢
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 2015-12-01
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多