keyboard_android_platform.dart 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import 'package:flutter/services.dart';
  2. import 'package:flutter/widgets.dart';
  3. import 'package:keyboard/utils/atmob_log.dart';
  4. import 'keyboard_android_service.dart';
  5. import 'keyboard_method_handler.dart';
  6. class KeyboardAndroidPlatform {
  7. KeyboardAndroidPlatform._();
  8. static const MethodChannel _channel = MethodChannel('keyboard_android');
  9. static const String _tag = 'KeyboardAndroidPlatform';
  10. static final KeyboardAndroidService _keyboardAndroidService =
  11. KeyboardAndroidService();
  12. static final KeyboardMethodHandler _methodHandler = KeyboardMethodHandler();
  13. static void init() {
  14. AtmobLog.d(_tag, '初始化 KeyboardAndroidPlatform ');
  15. _channel.setMethodCallHandler(_methodHandler.handleMethodCall);
  16. }
  17. static Future<void> sendDynamicTextRequest(
  18. String method,
  19. String currentContent,
  20. ) async {
  21. AtmobLog.d(_tag, 'sendDynamicTextRequest: $method');
  22. switch (method) {
  23. case 'MethodA':
  24. AtmobLog.d(_tag, '处理 MethodA');
  25. break;
  26. default:
  27. AtmobLog.d(_tag, '默认处理');
  28. }
  29. }
  30. // 打开/关闭悬浮窗
  31. static void enableFloatingWindow(bool enable) {
  32. debugPrint('enableFloatingWindow $enable');
  33. _keyboardAndroidService.enableFloatingWindow(enable);
  34. }
  35. // 打开输入法设置
  36. static void openInputMethodSettings() {
  37. debugPrint('openInputMethodSettings');
  38. _keyboardAndroidService.openInputMethodSettings();
  39. }
  40. //是否启用目标输入法
  41. static Future<bool> isTargetKeyboardEnabled() async {
  42. final result = await _keyboardAndroidService.isTargetKeyboardEnabled();
  43. debugPrint('isTargetKeyboardEnabled value: $result');
  44. return result;
  45. }
  46. }