androidsdcard挂载目录_获取android手机的自带存储路径和sdcard存储路径
展开全部
1.方法一
//内置sd卡路径String sdcardPath = System.getenv("EXTERNAL_STORAGE"); //内置sd卡路径String sdcardPath = Environment.getExternalStorageDirectory().getAbsolutePath();//外置置sd卡路径String extSdcardPath = System.getenv("SECONDARY_STORAGE");
在Enviroment类的源码中获得sd卡路径其实也是通过32313133353236313431303231363533e4b893e5b19e31333365666230 System.getnv() 方法来实现的,如隐藏的方法:
/** {@hide} */public static File getLegacyExternalStorageDirectory() {
return new File(System.getenv(ENV_EXTERNAL_STORAGE));}
注:更详细的内容还是去看Enviroment源码。
另外要注意的是,在API 23版本中 SECONDARY_STORAGE 被移除。
2.方法二
代码如下:
private static String getStoragePath(Context mContext, boolean is_removale) {
StorageManager mStorageManager = (StorageManager) mContext.getSystemService(Context.STORAGE_SERVICE);
Class> storageVolumeClazz = null;
try {
storageVolumeClazz = Class.forName("android.os.storage.StorageVolume");
Method getVolumeList = mStorageManager.getClass().getMethod("getVolumeList");
Method getPath = storageVolumeClazz.getMethod("getPath");
Method isRemovable = storageVolumeClazz.getMethod("isRemovable");
Object result = getVolumeList.invoke(mStorageManager);
final int length = Array.getLength(result);
for (int i = 0; i < length; i++) {
Object storageVolumeElement = Array.get(result, i);
String path = (String) getPath.invoke(storageVolumeElement);
boolean removable = (Boolean) isRemovable.invoke(storageVolumeElement);
if (is_removale == removable) {
return path;
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return null;}
androidsdcard挂载目录_获取android手机的自带存储路径和sdcard存储路径相关推荐
- androidsdcard挂载目录_(Android系统目录结构)/mnt/sdcard 和 sdcard 的区别
mnt/是Unix/Linux系统下外部设备的专用目录,Linux默认挂载外部设备都会挂载到这个目录;如将SD卡挂载后,会生成目录:/mnt/sdcard/. shell@aeon6735m_65c_ ...
- androidsdcard挂载目录_Android获取手机自带SDCard和外置SDCard路径
获取内置SD卡很简单,就一行代码 /** * 获取内置SD卡路径 * @return */ public String getInnerSDCardPath() { return Environmen ...
- android每个程序的内存大小,如何获取Android手机全部内存和可用内存尺寸
通过读取文件"/proc/meminfo"的信息能够获取手机Memory的总量,而通过ActivityManager.getMemoryInfo(ActivityManager.M ...
- Unity获取Android手机的RAM和剩余RAM和ROM
Unity获取Android手机的RAM和剩余RAM和ROM 前言 一.Android工程方法的实现 二.生成aar 三.Untiy中的调用 前言 项目工作需要,在游戏APP运行时,获取当前手机的剩余 ...
- 获取Android手机总内存和可用内存
在android开发中,有时候我们想获取手机的一些硬件信息,比如android手机的总内存和可用内存大小.这个该如何实现呢? 通过读取文件"/proc/meminfo"的信息能够获 ...
- 获取Android手机的分辨率通过ADB命令
获取Android手机的分辨率通过ADB命令 adb shell dumpsys window displays//此命令即可获取 WINDOW MANAGER DISPLAY CONTENTS (d ...
- 获取Android 手机设备信息:包括机型、操作系统版本号、手机分辨率、运营商、当前联网方式、IMEI、MEID、MAC地址
获取Android 手机设备信息:操作系统版本号.手机分辨率.运营商.当前联网方式.IMEI.MEID.MAC地址 包括双卡机型上的两个IMEI信息 /*** Created by Administr ...
- android开发获取手机,通过ADB获取Android手机信息,获取手机信息
通过ADB获取Android手机信息,获取手机信息 原文:https://blog.csdn.net/fasfaf454/article/details/51438743 1.获取手机系统信息( CP ...
- 获取Android手机MAC的一些方法
获取Android手机MAC的一种实现方案,仅供参考,哈哈哈!是否还有其他更优的解决方法呢? 请注意,高版本在WiFi关闭时,获取不到MAC ` /** * 获取手机MAC: * @param con ...
最新文章
- 新登月计划!阿里云ET城市大脑成为国家AI开放创新平台
- 配置内网邮件和外网邮件互发
- 在ASP.NET Core 2.0中使用CookieAuthentication
- 完整的Web应用程序Tomcat JSF Primefaces JPA Hibernate –第1部分
- ssh-scan处理手记
- 第七章 Qt对象模型与容器类
- 一个开源的ORM框架——Light.Data
- Android解决异常apk on device '0292bea1': Unable to open sync connection!
- java热血_5个让人热血沸腾的java项目
- 飞贷金融科技董事长唐侠:攻占小微金融全球制高点 | 一点财经
- Unix环境高级编程第三版
- cxk不会二进制 (贪心)
- recovery输出log+recovery模式关闭selinux
- CS大作业--程序人生--Hello‘s P2P
- LSTM预测未来一天股票收盘价
- 风生水起的VR直播丨VR直播市场何时迎来爆发期?
- think在PHP中什么意思,thinkphp框架是什么意思
- 将两个递增的有序链表合并成一个递增的有序链表(CPP版)
- python皮森发音_python 怎么读
- 调和级数近似求和公式推导(转载)