Android 判断系统默认存储位置是“内置存储卡”还是“SD卡”
2017-09-12 17:19
399 查看
我感觉这个方法应该是比较简单的,如有错误,请大家指出来~
附一个读取内置储存和sd卡储存的路径:
if (Environment.getExternalStorageDirectory().getPath().equals("/storage/emulated/0")) { loge(TAG, "mainOnClick: 内置"); } else { loge(TAG, "mainOnClick: 外置"); }
附一个读取内置储存和sd卡储存的路径:
/** * 获取SD路径 * * @param mContext activity * @param is_removale 内置:false;外置:true * @return 路径 */ public 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; }
相关文章推荐
- Android 判断现在系统存储器是“手机存储”还是“SD存储”
- Android系统的改进(八)-- 当把手机当作存储介质连到电脑后,如果指定的铃声在存储卡上,指定的歌曲铃声消失,恢复默认
- Android 判断现在系统存储器是“手机存储”还是“SD存储”
- Android 判断现在系统存储器是“手机存储”还是“SD存储”
- [Android]文件存储-内存(系统存储)/内部存储(内置存储卡)/外部存储(SDcard)
- android获取应用程序判断是系统程序还是应用程序并且判断在sd卡中还是内存中
- android读取系统存储级SD卡存储空间
- 改变系统默认字体库的存储位置
- android得到系统时间如何判断是白天还是晚上
- 笔试面试7 如何判断一个系统的存储方式是大端还是小端
- Android 判断SD卡是否存在及容量查询 分类: Android数据存储 2014-06-20 13:32 66人阅读 评论(0) 收藏
- 在js和java中判断手机访问的是ios系统还是android系统
- android读取系统存储级SD卡存储空间
- Android Environment.getExternalStorageDirectory() 获取的是内部存储还是外部存储?若无SD卡,就用内部。
- android 判断应用程序是系统程序还是用户程序
- Android获取内置/外置存储卡位置以及大小(支持6.0)
- android得到系统时间如何判断是白天还是晚上
- JS辨别访问浏览器判断是android还是ios系统
- Android如何判断应用程序是安装在手机内存中还是SD卡
- JS辨别访问浏览器判断是android还是ios系统