1.网上主要有两种方案:
a: 修改framwork 中cpp code ,对外接USB添加 -w 权限
b.使用DocumentFile 进行适配
在我们项目中,我使用了第三种方案。写说明一下:这种方案我只在我们项目中做了验证,不知道其它系统是否也支持这种方式。
由于现在手上没有code了,所以只说明一下大概的实现方法:
使用绝对路径,进行外接U盘的写入不行,但是绝对路径映射出来的对应路径(或者说是内部路径)是可以操作的。

通过上述命令,可以找出外接设备对应的一个映射路径。我原来的项目里,这个内部路径是可以读写的。
使用这个路径,你可以做个快速的写操作验证,看是否可行。(不可行,就没必要看下面的步骤了)
如果可行
1.可以通过反射,StorageManager.java类(好像是),获取外接U盘绝对路径与内部路径的对应关系
2.进行写操作时,通过路径替换,改为内部路径,写入外接U盘
本文介绍了一种在外接U盘上进行写入操作的新方法,不同于修改framework或使用DocumentFile的传统方案。通过映射内部路径,利用反射机制获取StorageManager类中的对应关系,实现了对外接U盘的有效写入。
9450

被折叠的 条评论
为什么被折叠?



