当前位置:   article > 正文

Android USB写入数据失败(EACCES (Permission denied))_android 开发 usb无法写入文件

android 开发 usb无法写入文件

最近接到一个问题反馈,一个几年前的APP,之前USB热插拔读写备份正常,现在居然不能正常备份。log中显示:

System.err: java.io.IOException: open failed: EACCES (Permission denied)

但确认权限都有,targetSdkVersion为22,因此不存在动态申请权限的问题。之后用同样的APP在低版本手机上测试正常(有些是需要手动打开OTG)。后来搜索网上文章指出:Android 6.0以后,就算添加权限,也不能成功操作USB。进一步测试发现:在高版本手机,只是不能正常创建文件夹,如果手动创建了路径,还是能正常读写文件,因此本文只需采用第三方库创建文件路径,其他代码不用改变。

引入第三方库:

api 'com.github.mjdev:libaums:0.5.5'

在Service中初始化监听USB插拔广播:

  1. IntentFilter filter = new IntentFilter();
  2. filter.addAction("android.intent.action.MEDIA_CHECKING");
  3. filter.addAction("android.intent.action.MEDIA_MOUNTED");
  4. filter.addAction("android.intent.action.MEDIA_EJECT");
  5. filter.addAction("android.intent.action.MEDIA_RE
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/286233
推荐阅读
相关标签
  

闽ICP备14008679号