直接贴出代码,有需要的可以直接变成工具类使用。优先读取sd卡假设没有sd卡再去手机内存中获取。记得动态配置读写权限!

    /*** 优先在SD卡,其次是内部存储*/public static String getRWPath(Context context) {String rwPath = null;String storagePath = getStoragePath(context, true);if (null != storagePath) {rwPath = storagePath;} else {String sdPath = getSDPath();rwPath = sdPath;}return rwPath;}
     /*** @description 获取SD卡路径,不用在设置中这是默认存储位置*/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 | InvocationTargetException | NoSuchMethodException | IllegalAccessException e) {e.printStackTrace();}return null;}
    /*** 获取SD卡路径** @return*/public static String getSDPath() {String sdPath = null;// 判断sd卡是否存在boolean sdCardExit = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);if (sdCardExit) {// 获取根目录sdPath = Environment.getExternalStorageDirectory().toString();}return sdPath;}

Android获取手机内存与SD卡的根目录相关推荐

  1. java读取手机内存,Android获取手机内存、SD卡总容量和剩余容量

    搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. import java.io.File; import android.app. ...

  2. android 扫描手机内存和SD卡,获取手机的视频、音频文件。把获取不到的文件扫描出来

    网上查了下android手机扫描内存或者SD卡里面的音频或者视频文件,进行显示.但是有些视频或者音频扫描不出来.有其中一个原因是当你添加了一个视频或者音频文件后,手机自身没有重新进行扫描.只有手机重启 ...

  3. Android 获取手机内存大小

    背景 项目中图片拍照功能是调用系统相机,由于某些手机内存不足,经常调用系统相机后,项目app进程被系统杀掉了,所以采取的措施是:调用系统相机前先判断手机可用内存大小,当可用内存低于500M时,提示用户 ...

  4. android sim卡联系人存储格式,Android获取手机通讯录、sim卡联系人及调用拨号界面方法...

    android获取手机通讯录联系人信息 private void getPhoneContacts() { ContentResolver resolver = this.getContentReso ...

  5. Android文件存储与读取(手机内存、SD卡)

    1.activity_main.xml文件中 <!-- 保存数据到手机内存中 --><Buttonandroid:id="@+id/btnSave"android ...

  6. android获取手机通讯录和sim卡通讯录

    获取手机通讯录 1 权限 <uses-permission android:name="android.permission.READ_CONTACTS"/> 注意6. ...

  7. 读取手机内存和SD卡的空间大小

    activity_main.xml  布局很简单 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/a ...

  8. android获取内部存储卡里的文件,获取Android内部存储(外部SD卡)和扩展存储卡(TF卡)的路径...

    获取Android内部存储(外部SD卡)和扩展存储卡(TF卡)的路径 获取Android内部存储(外部SD卡)和扩展存储卡(TF卡)的路径 sd卡存储外部存储卡路径外部存储卡外部存储卡路径内置存储卡外 ...

  9. 【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://2402766.blog.51cto.com/2392766/1080837 为了 ...

最新文章

  1. Hadoop Shell命令
  2. 不小心删表删库了,还能救
  3. oracle 学习笔记
  4. ORACLE sqlplus设置行数和宽度
  5. 一个比较怪异的操作,没有返回值
  6. python基础-python函数参数为print语句时的输出
  7. virtualBox文件共享
  8. 串口服务器芯片方案商,串口服务器芯片
  9. 【每日算法Day 75】字节跳动面试题:手撕困难题,看过我Day 71的人都会做了!...
  10. 记一次失败的电话面试
  11. 拓端tecdat|R语言用RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测
  12. 思科:企业数据中心技术产品采购放缓
  13. 高项考试-信息化知识
  14. 计算机硕士研究生毕设选题方向推荐 - 题目推荐
  15. 秋招跳槽求职P8架构大咖整理“Java后端技术面试笔记”,目标是成为Java架构师,这条件不过分吧
  16. 聚沙成塔--爬虫系列(四)(爬取糗事百科段子)
  17. JavaScript(js)基础
  18. ffplay控制音量方法
  19. 加密算法详解AES/HmacSHA1/DES
  20. TI 生态大宇宙 - 波卡 Polkadot

热门文章

  1. linux关闭8080端口命令,linux iptables开放/关闭端口命令
  2. 神经网络训练后如何使用,神经网络训练完怎么用
  3. 神经网络训练参数说明
  4. druid 配置详细
  5. 厉害了,二本大学生这样拿下阿里 Offer!| 程序员有话说
  6. PostgreSQL中的dateadd函数的实现
  7. mysql中视图和表的关系
  8. 域名品相分析 - 分析域名是否 数字 字母 拼音 几拼 杂米
  9. 左边是地狱右边也是地狱_地狱甚至还能做些什么(除了拿走我们的钱)
  10. 电脑录屏怎样不录到外界声音?调整这一个开关,即可实现