当前位置: 移动技术网 > IT编程>移动开发>Android > Android获得内/外置存储卡路径的方法

Android获得内/外置存储卡路径的方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

狗狗爱爱,加乐比海盗,渝西之窗党建新农村建设

我们知道android上一般都有外置的存储卡,

但是通过environment.getexternalstoragedirectory()获取的是内置的存储卡位置 (也有的手机可以在系统中修改默认存储) 那么如何获取外置存储卡的位置呢?

我们可以通过storagemanager来获取多个外置sdcard,代码如下:

storagemanager storagemanager = (storagemanager) cxt.getsystemservice(context.storage_service);
      try {
        method method = storagemanager.class.getdeclaredmethod("getvolumepaths");
        method.setaccessible(true);
        object result = method.invoke(storagemanager);
        if (result != null && result instanceof string[]) {
          string[] pathes = (string[]) result;
          statfs statfs;
          for (string path : pathes) {
            if (!textutils.isempty(path) && new file(path).exists()) {
              statfs = new statfs(path);
              if (statfs.getblockcount() * statfs.getblocksize() != 0) {
                pathslist.add(path);
              }
            }
          }
        }
      } catch (exception e) {
        e.printstacktrace();
        file externalfolder = environment.getexternalstoragedirectory();
        if (externalfolder != null) {
          pathslist.add(externalfolder.getabsolutepath());
        }
      }
    }
    return pathslist.toarray(new string[pathslist.size()]);

以上所述是小编给大家介绍的android获得内/外置存储卡路径的方法,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网