首页 > 解决方案 > 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)

标签: javaandroidusbscsi

解决方案


推荐阅读