java - Android libaums - 已被允许记住的 USB 驱动器自动启动应用程序失败
问题描述
我的 Android 应用程序使用 libaums 库进行 USB 闪存驱动器通信。清单已注册到 USB_DEVICE_ATTACHED,它会检测闪存驱动器的插入、移除和权限。但是我有一个案例,在权限警报中,如果用户选择“记住”自动启动,那么当插入 USB 设备时,应用程序启动,USB 驱动器被识别,但在 UsbMassStorageDevice.init()因 SCSI 错误而失败。
USB 驱动器有一个活动指示灯,在使用过程中会闪烁。在此状态下,此灯会一直亮着。
我只使用“me.jahnen:libaums:0.8.0”模块。这是发生这种情况的唯一情况。移除并重新插入 USB 驱动器会导致相同的错误。有什么解决办法吗?
2021-07-09 11:19:33.196 8520-8520/com.muskokatech.Crawfisher W/System.err: com.github.mjdev.libaums.driver.scsi.commands.sense.UnitAttention: Unit attention (ASC: 40, ASCQ: 0)
2021-07-09 11:19:33.196 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.github.mjdev.libaums.driver.scsi.commands.sense.ScsiRequestSenseResponse.checkResponseForError(ScsiRequestSenseResponse.kt:146)
2021-07-09 11:19:33.196 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.github.mjdev.libaums.driver.scsi.ScsiBlockDevice.requestSense(ScsiBlockDevice.kt:214)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.github.mjdev.libaums.driver.scsi.ScsiBlockDevice.handleCommandResult(ScsiBlockDevice.kt:195)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.github.mjdev.libaums.driver.scsi.ScsiBlockDevice.transferCommand(ScsiBlockDevice.kt:149)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.github.mjdev.libaums.driver.scsi.ScsiBlockDevice.transferCommandWithoutDataPhase(ScsiBlockDevice.kt:187)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.github.mjdev.libaums.driver.scsi.ScsiBlockDevice.initAttempt(ScsiBlockDevice.kt:110)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.github.mjdev.libaums.driver.scsi.ScsiBlockDevice.init(ScsiBlockDevice.kt:83)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.github.mjdev.libaums.UsbMassStorageDevice.setupDevice(UsbMassStorageDevice.kt:138)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.github.mjdev.libaums.UsbMassStorageDevice.init(UsbMassStorageDevice.kt:100)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.muskokatech.PathAwayPro.USBSupport.setupUSBDevice(USBSupport.java:288)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.muskokatech.PathAwayPro.USBSupport.discoverUSBDevice(USBSupport.java:108)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.muskokatech.PathAwayPro.USBSupport.access$200(USBSupport.java:44)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.muskokatech.PathAwayPro.USBSupport$1.onReceive(USBSupport.java:1369)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1666)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run(Unknown Source:2)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at android.os.Handler.handleCallback(Handler.java:938)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at android.os.Handler.dispatchMessage(Handler.java:99)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at android.os.Looper.loop(Looper.java:246)
2021-07-09 11:19:33.197 8520-8520/com.muskokatech.Crawfisher W/System.err: at android.app.ActivityThread.main(ActivityThread.java:8512)
2021-07-09 11:19:33.198 8520-8520/com.muskokatech.Crawfisher W/System.err: at java.lang.reflect.Method.invoke(Native Method)
2021-07-09 11:19:33.198 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
2021-07-09 11:19:33.198 8520-8520/com.muskokatech.Crawfisher W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
解决方案
推荐阅读
- angular - 获取类型错误,如无法读取 null 的属性(读取“_rawValidators”)
- amazon-web-services - 使用 Apache Airflow (MWAA) 的托管工作流 - 如何禁用对先前运行的任务运行依赖
- javascript - 禁用 W3.CSS 悬停下拉菜单
- python-3.x - 是否可以将一个模块作为另一个模块的导入来使用?
- java - 如何在代理后面的 Spring Boot 中使用 JavaEmailSender
- php - Woocommerce (WC) / Martfury - Elementor 拖动/创建产品网格/轮播(产品循环) - 条件标签 - MSRP 字段/数据
- user-interface - 所有者绘制的菜单;测量和绘图,如何判断项目是否是子菜单项?
- javascript - 如何在 Next.js 中加载页面之前等待 React 上下文加载
- python - 如何根据给定条件溢出熊猫系列
- java - 将元素加入列表并将列表映射到 hashmap