上個月正好在做監(jiān)聽USB插入與撥出狀態(tài)的需求萍悴,百度了許多博文,最終發(fā)現是如此的簡單,在此簡單歸納一下癣诱,供小伙伴們享用~~~話不多說计维,直接上正題:
android在UsbManager服務中有一個名為ACTION_USB_STATE常量,值為"android.hardware.usb.action.USB_STATE"狡刘,它是一個廣播供我們可以監(jiān)聽USB插入與撥出的狀態(tài)享潜。當USB連接狀態(tài)發(fā)生改變時就會發(fā)送這個廣播。為此我們只需要注冊一個action="android.hardware.usb.action.USB_STATE" 的BrocastReceiver即可嗅蔬,如:
<receiver android:name="com.coeus.screentapdemo.receiver.UsbConnectionReceiver" >
<intent-filter android:priority="1000" >
<action android:name="android.hardware.usb.action.USB_STATE" />
</intent-filter>
</receiver>
值得注意的是android.hardware.usb.action.USB_STATE是一個粘性的廣播剑按,里面封裝USB_CONNECTED(連接狀態(tài))、USB_CONFIGURED(配置信息)澜术、USB_FUNCTION_MASS_STORAGE(大存儲功能)艺蝴、USB_FUNCTION_ADB(adb功能) 等狀態(tài),當這些狀態(tài)發(fā)生改變時鸟废,就會發(fā)送廣播猜敢。通常接收到USB狀態(tài)廣播是一連串的,需要我們自行區(qū)分盒延。