最近项目(海思V600二次开发)有个需求,从U盘读取图片并将其替换成Logo,简单的讲分三步:

第一:查找u盘是否挂载并且获得U盘路径,代码如下:

    public  String getExternalStorageDirectory(){String dir = new String();try {Runtime runtime = Runtime.getRuntime();Process proc = runtime.exec("mount");InputStream is = proc.getInputStream();InputStreamReader isr = new InputStreamReader(is);String line;BufferedReader br = new BufferedReader(isr);while ((line = br.readLine()) != null) {// System.out.println(line);if (line.contains("secure")) continue;if (line.contains("asec")) continue;if (line.contains("fat")) {String columns[] = line.split(" ");if (columns != null && columns.length > 1) {dir = dir.concat(columns[1] );break;}} else if (line.contains("fuse")) {String columns[] = line.split(" ");if (columns != null && columns.length > 1) {dir = dir.concat(columns[1]);break;}}}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return dir;}

第二,从u盘查找是否存在bootlogo.jpg 文件,代码如下

    public String getFile(String url){String dir = "";try{//System.out.println(url);File[] files =new File(url).listFiles();System.out.println(files.length);for (int i =0; i < files.length; i++){File f = files[i];if(f.getName().equals("bootlogo.jpg"))// if(f.getPath().indexOf("bootlogo.jpg")>=0){return f.getPath();}}catch (Exception e){Log.i("VideoPlayer", "not find file!") ;}return dir;}

第三步,海思方案针对替换logo提供了底层命令,通过AsyncTask执行命令,代码如下

    public  void changeLogo(){Runtime runtime = Runtime.getRuntime();try {Process proc = runtime.exec("sample_pdm 2 "+filePath);}catch (IOException e) {e.printStackTrace();}}

通过上面三步既可以实现功能,但是有一点,通过adb mount 命令发现,u盘跟sdcard打印的信息一模一样,有没有大神可以告诉下怎么区分他们呢?

android 查找u盘路径相关推荐

  1. android u盘地址,android 9.0 获取U盘路径

    /** * android 9.0获取外置sdcard和U盘路径,并区分 * * @param mContext * * @param keyword  SD = "内部存储"; ...

  2. Android 双u盘方案

     1      L1813系统上双U盘设计方案--系统设计 1.1     方案背景 Android原生的磁盘管理方案,设计的思想是将EMMC上的空间通过sdcard的server模拟成一个Sto ...

  3. android studio设置JDK路径

     昨天,组长让我帮忙看看android studio的不能运行的错误,我看上面显示的是需要jdk1.8以上才可以运行,于是当时给组长下载了一个jdk 1.8 32位的,不过在修改jdk的路径时,自 ...

  4. android系统profile文件路径,Android Profile Tools 入门

    本次分享会目的 通过对增加对 Android Profile Tools 的了解,提高大家工作过程中定位和解决Bug的效率. 注意事项 为了不耽误大家时间,语速可能会快一些 如果讲到某个工具或者技巧, ...

  5. 查找存储卡的路径在WM6 windows mobile

    有一种简单的方法来找到在Windows Mobile设备上的存储卡的路径 当有存储卡和蓝牙FTP连接? 本文地址 :CodeGo.net/2314/ ------------------------- ...

  6. Mathtype卸载问题,使用期限、还有与word关联问题,The MathType DLL cannot be found.问题解决方法、查找office安装路径

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 目录 文章目录 Mathtype卸载问题和word关联.少 MathType DLL等问题.查找office安装路径. ...

  7. android studio 设置 ndk 路径

    ndk下载路径: https://developer.android.google.cn/ndk/downloads android studio 设置 ndk 路径 在项目的根目录下面,有个配置文件 ...

  8. linux看php安装路径,linux下查找php安装路径的方法是什么

    linux下查找php安装路径的方法是什么 发布时间:2020-09-01 16:06:19 来源:亿速云 阅读:72 作者:小新 这篇文章主要介绍了linux下查找php安装路径的方法是什么,具有一 ...

  9. Android 获取SD卡路径和判断SD卡是否存在.

    android获取sd卡路径方法: public String getSDPath(){ File sdDir = null; boolean sdCardExist =Environment.get ...

最新文章

  1. mysql怎么增添数据_MySQL数据库怎么增添新用户
  2. 单轴步进驱动模块SH-20403
  3. Selenium常用方法及函数、txt参数化
  4. 实录 | DSTC 8“基于Schema的对话状态追踪”竞赛冠军方案解读
  5. hive中的数据库与mysql中的hive数据库的关系
  6. 微型计算机惠普1hm20av,微型计算机原理及应用(答案).doc
  7. Java Lambda 表达式快速学习
  8. 操作数据库出现错误的查找问题方法
  9. Spring Framework,ioc容器(转)
  10. MyCat分片规则之按自然月分片
  11. GPG使用方法总结(密钥管理,加解密文件)
  12. 数学建模----LaTex排版使用速成
  13. 微信支付api_key
  14. 微信朋友圈分享、QQ分享
  15. CStdioFile的Writestring无法写入中文的问题
  16. 312、519、122三大崩盘实战复盘
  17. 苹果笔记本能装linux系统吗,为什么很多人买了苹果笔记本后,会重新装一个windows系统?...
  18. 一文了解 Go time 包的时间常用操作
  19. Delphi 中TPath单元引用报错无法编译问题
  20. 小型NAS搭建实例①——TrueNAS-SCALE-22.02.4安装Ubuntu Server 22.04 LTS虚拟机,包含网卡TrueNAS桥接,直通,Ubuntu硬盘分区等详细介绍

热门文章

  1. 征服number类型的input框
  2. 【MATLAB】几种求矩阵伪逆的方法
  3. 摸清股市规则,交易更安心
  4. 计算机组成原理英文归纳
  5. 欧尼酱讲JVM(21)——垃圾回收相关算法
  6. 66个求职应聘技巧性问答
  7. No repository found at http://m2eclipse.sonatype.org/sites/m2e
  8. 科大奥锐密立根油滴实验数据_密立根油滴实验数据处理分析
  9. 报错java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher解决方案
  10. 数据分析——用tableau制作动态可视化数据仪表盘