usb_state.dart 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. import 'package:flutter/services.dart';
  2. class UsbState {
  3. final EventChannel _eventChannel =
  4. EventChannel('com.vinno.vitalapp/usb_events');
  5. void startListening() {
  6. _eventChannel.receiveBroadcastStream().listen(
  7. (dynamic event) {
  8. // 这里我们期望event是一个Map,包含USB设备的信息
  9. Map<dynamic, dynamic> usbEvent = event as Map<dynamic, dynamic>;
  10. print('USB Event: $usbEvent');
  11. String action = usbEvent['action'] ?? 'unknown';
  12. String name = usbEvent['name'] ?? 'unknown';
  13. String type = usbEvent['type'] ?? 'unknown';
  14. if (action == 'attached') {
  15. print('USB device attached: Name - $name, Type - $type');
  16. // USB设备已连接,可以根据需要处理
  17. } else if (action == 'detached') {
  18. print('USB device detached: Name - $name, Type - $type');
  19. // USB设备已断开,可以根据需要处理
  20. }
  21. },
  22. onError: (dynamic error) {
  23. print('USB Event Error: $error');
  24. },
  25. );
  26. }
  27. }