android u盘加载_如何获取Android系统挂载U盘的路径

这篇博客介绍了在Android设备上如何获取插入的U盘的挂载路径。当U盘在开机前已插入,通过广播监听无法获取路径时,可以读取/proc/mounts文件来找到vfat类型的挂载点,从而获取到U盘路径。通过代码示例展示了具体的实现过程,强调路径会随着插拔变化,不能写死。
摘要由CSDN通过智能技术生成

最近项目开发中碰到这样一个需求:用户在定制的 Android 设备上插入 U 盘,然后在应用内导入 U 盘里的文件内容。

问题在于如何获取 U 盘的路径,网上搜索后大多数都是采用广播监听的方式来获取 U 盘的路径。但是如果 U 盘在设备开机之前就插着,这样登录应用后就获取不到 U 盘的路径了,于是乎此种方法作罢。

这时候同事告诉了另外一种方法,就是从文件中读取路径。

U 盘在插入系统后,如果系统检测到 U盘,便会在系统的 proc 目录的 mounts 文件内产生一条记录。

可以看到该文件记录了 U 盘每一次插入的相关信息(看不清楚?好吧,我摘取其中的一条用日志打印出来如下)。

很长的一条信息,可能你看不懂(其实我也看不懂),没关系,找到对自己有用的信息即可。是不是发现了 /mnt/sdaq/sdaq1 这样一条信息,没错,他就是我们需要的 U 盘挂载的路径。我们只需要把 /proc/mounts 文件内的带 vfat 的最后一行找到,截取其中的 U 盘路径即可。代码如下:

private void searchPath() {

String filePath = "/proc/mounts";

File file = new File(filePath);

List lineList = new ArrayList<>();

InputStream inputStream =null;

try {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值