如何在Android 4.0.4(冰淇淋三明治)上访问microSD卡

时间:2017-02-28 16:20:05

标签: android eclipse android-sdcard

我在Ecilpse ADT中开发(针对外部问题),我有一个Android设备。这是一款带有Android 4.0.4(冰淇淋三明治)的EPD(电子纸),该设备有一张microSD卡,但我无法以编程方式访问它。我需要阅读里面的一些图片。

作为测试,我尝试使用以下代码和其他变体,但我没有成功:

    File sdcard = Environment.getExternalStorageDirectory();

    File file = new File(sdcard,"prueba_sd.txt");

    StringBuilder text = new StringBuilder();

    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;

        while ((line = br.readLine()) != null) {
            text.append(line);
            text.append('\n');
        }
        br.close();

        Log.i("Ficheros", "It works!");

    }
    catch (Exception ex) {
        Log.e("Ficheros", "Doesnt work");
    }

此外,这是DDMS观点的结构:

Enter image description here

2 个答案:

答案 0 :(得分:0)

Environment.getExternalStorageDirectory()用于外部存储,而不是可移动存储。在Android 4.0.4中,没有用于处理可移动存储的API。您必须硬编码可移动存储的完全限定路径。对于您将要在这一台设备上使用的应用程序,对该路径进行硬编码应该是安全的。

答案 1 :(得分:0)

没有用于获取micro-SD路径的API。尝试使用this answer并从系统文件(// Transform your data into accepted format var series = inputData.map((s) => ({ name: s.name, data: [s.Apples, s.Oranges, s.Plums] })) )中读取可移动存储的路径。