检测USB设备断开连接

时间:2013-12-20 14:13:29

标签: android usb broadcastreceiver

我正在尝试检测USB设备断开连接。我正在使用以下代码:

BroadcastReceiver receiver = new BroadcastReceiver() {

        public void onReceive(Context context, Intent intent) {

            if (intent.getAction().equals(
                    UsbManager.ACTION_USB_DEVICE_DETACHED)) {
                Toast.makeText(getBaseContext(), "usb was disconneced",
                        Toast.LENGTH_LONG).show();
            }
        }
    };
    IntentFilter filter = new IntentFilter();
    filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
    registerReceiver(receiver, filter);

但它不起作用。断开USB存储设备时没有任何反应。有什么问题?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以通过将其置于android manifest.xml中来接收电源连接或断开连接的事件:

<receiver android:name=".PowerConnectionReceiver">
  <intent-filter>
    <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
    <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
  </intent-filter>
</receiver>

以及有关USB连接和断开连接的详细说明,请参阅example