狗狗爱爱,加乐比海盗,渝西之窗党建新农村建设
我们知道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获得内/外置存储卡路径的方法,希望对大家有所帮助
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论