Java 通过OTG电缆插入android时检测拇指驱动器(闪存驱动器)

Java 通过OTG电缆插入android时检测拇指驱动器(闪存驱动器),java,android,android-intent,broadcastreceiver,usb-drive,Java,Android,Android Intent,Broadcastreceiver,Usb Drive,我正在尝试检测安卓平板电脑中插入的闪存驱动器。根据我所看到的情况,我尝试注册一个如下所示的接收器,但不起作用: <receiver android:name=".receiver.UsbBroadcastReceiver" android:enabled="true"> <intent-filter> <action android:name="android.intent.action.MEDI

我正在尝试检测安卓平板电脑中插入的闪存驱动器。根据我所看到的情况,我尝试注册一个如下所示的接收器,但不起作用:

 <receiver android:name=".receiver.UsbBroadcastReceiver"
              android:enabled="true">
        <intent-filter>
            <action android:name="android.intent.action.MEDIA_MOUNTED"/>
            <data android:scheme="file"/>
        </intent-filter>
</receiver>

我有以下权限:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


我也没有看到安全异常。轮询是唯一的方法吗?

也许可以从查看开发文档开始。似乎还有其他与此相关的操作:


如果我理解正确,您所看到的是一个外部媒体,这与OTG不完全相同

也许可以从查看开发文档开始。似乎还有其他与此相关的操作:如果我理解正确,您看到的是外部媒体,这与OTG不完全相同。我需要检测它何时插入,UsbManager只有在我知道USB上安装了一些东西后才有用。我指的是UsbManager正在广播的动作。这很有效。谢谢你提醒我偶尔阅读一下这些文档:-)酷,很高兴听到它解决了你的问题。作为答复张贴。