如题,一个小时前测试得到还是正确路径,现在得到的却是/storage/emulated/0/,NEXUS4和GALAXY S2都得不到正确的,有一台中兴能得到正确的。权限什么的都加好了。
之前还可以的,怎么突然就犯病了呢?
大家有遇到过这种情况吗?

解决方案 »

  1.   

    不同的手机厂商 的确是可能不同的 你可以通过Environment 方法来获取路径
      

  2.   

    这是引用路径,别担心。
    打开你的ddms File Explorer
    你可以在你的mnt/sdcard后面看到一列info列
    里面写的就是类似于/storage/emulated/0/这个东西
    然后你可以在你的File Explorer中找到storage文件夹,下面就会有emulated,然后下面会有0
    其实都是一样的
      

  3.   

    的确是有storage文件夹,可是我要的mmt/sdcard啊,现在得到的却是这个,怎么才能得到我要的呢?
      

  4.   

    如果是为了拿到sd卡的文件用这个路径就可以了
    如果是为了显示的话,还真不知道。
    因为这个东西就是为了隐藏sd卡的路径。
      

  5.   

    之前都没什么问题所以也没注意路径到底是什么,今天是在拿文件的时候出问了,一看这路径下一跳。
    原来是Eclipse的Bug导致的错误,跟路径的确没啥关系。
    可是为什么LG和三星手机要用引用路径而不是一般路径呢?
      

  6.   

    应该不是bug,具体手机厂商为什么要用这种路径我也是不太清楚。没仔细研究过。
      

  7.   

    我是说我写的项目之前从SD卡上那东西没问题,昨天突然不行了,然后就输出了一下SD卡路径,开始以为这路径有问题,可是一番重启+CLEAN之后问题又没了。
      

  8.   

    有时我在调用WebService方法时会报异常
    java.io.IOException: BufferedInputStream is closed,
    您有没有遇到过这种情况
      

  9.   

    还真没有。我们做的是本地应用,没有用到webservice
      

  10.   

            imageFilePathString = Environment.getExternalStorageDirectory().getAbsolutePath() +  "/myfavoritepicture.jpg";
            if(DEBUG)
            {
             Log.v(TAG,"picture path :"+imageFilePathString);
            }
            
            //check sd card
            if (!Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
             if(DEBUG)
             {
                 Log.v(TAG, "SD state is :" + Environment.getExternalStorageState());
             }
                return;
            }
            
            File imageFile = new File(imageFilePathString);