USB连接通知

时间:2011-04-02 11:48:26

标签: android

如果用户通过USB线连接手机,我们是否可以收到通知?

4 个答案:

答案 0 :(得分:4)

阿贾伊,

我无法找到任何特定于“USB Connected”的内容,但在这种情况下可能会有一些广告操作,这取决于您要完成的任务:

似乎没有专门针对USB的广播操作插入,您也可以尝试使用:

但这对于连接到计算机的USB和仅连接到电源的USB都会有效......

有趣的是,我还发现这个LINK只是声明“USB已连接”没有广播操作。

在这种情况下你可能会失败: - \

答案 1 :(得分:4)

实际上有一个广播事件;如果您在应用程序设置中启用了Debug,则在插入USB时,您的通知栏上会出现错误。以下是样本的工作原理;

public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();
    // UsbManager.ACTION_USB_STATE -> "android.hardware.usb.action.USB_STATE" actually
    if (action.equals(UsbManager.ACTION_USB_STATE)) {
        Bundle extras = intent.getExtras();
        // UsbManager.USB_CONNECTED -> "connected" actually
        usbConnected = extras.getBoolean(UsbManager.USB_CONNECTED);
        ...

您可以在framework / base / service / java / com / android / server / NotificationManagerService.java中找到它。 希望这会有所帮助。

答案 2 :(得分:1)

自:API等级5 将设备插入汽车底座时运行的活动。与ACTION_MAIN一起使用以启动活动。有关更多信息,请参阅UiModeManager。 常量值:“android.intent.category.CAR_DOCK” public static final String CATEGORY_CAR_MODE

自:API等级8 用于表示活动可以在汽车环境中使用。 常量值:“android.intent.category.CAR_MODE”

答案 3 :(得分:0)

很多年后...这可能会帮助那些看起来像我的人。自从Honeycomb以来,有两种动作可以监听USB_DEVICE_ATTACHEDUSB_DEVICE_DETACHED