Как отличить USB и SD крепление?
У меня есть телефон Android 6.0 с внутренней памятью, съемной картой SD и USB OTG (флеш-накопитель с разъемом micro USB), вставленный в телефон. Съемная SD-карта и USB OTG были извлечены в оборудовании Android: "Настройки" -> "Хранение и USB". Я могу установить съемную SD-карту и USB OTG в этом оборудовании. Например, я монтирую съемную SD-карту и хочу отличить это событие от монтирования USB OTG. Единственное действие, которое я могу получить в приемнике
<receiver
android:name=".receiver.RemovableMediaReceiver"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MEDIA_MOUNTED"/>
<action android:name="android.intent.action.MEDIA_UNMOUNTED"/>
<action android:name="android.intent.action.MEDIA_EJECT"/>
<action android:name="android.intent.action.MEDIA_BAD_REMOVAL"/>
<data android:scheme="file"/>
</intent-filter>
</receiver>
на монтировании находится android.intent.action.MEDIA_MOUNTED и путь к корню смонтированной SD-карты в качестве дополнения к этому действию - / storage / A13D-EF43. Та же ситуация для события подключения USB OTG. Единственное отличие заключается в названии подключенного USB OTG - путь к / storage / BD76-24ED.
Как я могу понять, какой носитель был подключен - SD или USB OTG - если у меня нет вызова API, чтобы получить имя SD или USB OTG перед монтированием, чтобы сравнить его с дополнительным (путь) из android.intent.action.MEDIA_MOUNTED?