答案 0 :(得分:4)
阿贾伊,
我无法找到任何特定于“USB Connected”的内容,但在这种情况下可能会有一些广告操作,这取决于您要完成的任务:
ACTION_MEDIA_SHARED
:已卸载外部媒体,因为它是通过USB大容量存储共享的。ACTION_UMS_CONNECTED
:设备已进入USB大容量存储模式。这主要用于USB设置面板。ACTION_UMS_DISCONNECTED
:设备已退出USB Mass Storage模式。这主要用于USB设置面板。似乎没有专门针对USB的广播操作插入,您也可以尝试使用:
ACTION_POWER_CONNECTED
:外部电源已连接到设备。但这对于连接到计算机的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_ATTACHED
和USB_DEVICE_DETACHED
。