小智 5
实际上有一个广播事件;如果您在应用程序设置中打开了“调试”,那么当您插入 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);
...
Run Code Online (Sandbox Code Playgroud)
您可以在framework/base/service/java/com/android/server/NotificationManagerService.java 中找到它。希望这可以帮助。
阿杰,
我无法找到任何特定于“USB 连接”的内容,但在这种情况下,根据您想要完成的任务,可能会对一些广播操作感兴趣:
ACTION_MEDIA_SHARED:外部媒体已卸载,因为它正在通过 USB 大容量存储共享。ACTION_UMS_CONNECTED:设备已进入 USB 大容量存储模式。这主要用于 USB 设置面板。ACTION_UMS_DISCONNECTED:设备已退出 USB 大容量存储模式。这主要用于 USB 设置面板。似乎没有特定于 USB 插入的广播操作,您也可以尝试执行以下操作:
ACTION_POWER_CONNECTED:设备已连接外部电源。但对于连接到计算机的 USB 和仅连接到电源的 USB 来说,这种情况都会发生...
有趣的是,我还发现这个链接只是简单地说明“USB已连接”没有广播操作。
在这种情况下你可能不走运:-\
| 归档时间: |
|
| 查看次数: |
8890 次 |
| 最近记录: |