keyboard_android_method_channel.dart 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import 'package:flutter/foundation.dart';
  2. import 'package:flutter/services.dart';
  3. import 'keyboard_android_platform_interface.dart';
  4. /// An implementation of [KeyboardAndroidPlatform] that uses method channels.
  5. class MethodChannelKeyboardAndroid extends KeyboardAndroidPlatform {
  6. /// The method channel used to interact with the native platform.
  7. @visibleForTesting
  8. final methodChannel = const MethodChannel('keyboard_android');
  9. @override
  10. Future<String?> getPlatformVersion() async {
  11. final version = await methodChannel.invokeMethod<String>(
  12. 'getPlatformVersion',
  13. );
  14. return version;
  15. }
  16. @override
  17. Future<void> enableFloatingWindow(bool enable) async {
  18. await methodChannel.invokeMethod('enableFloatingWindow', {
  19. 'enable': enable,
  20. });
  21. }
  22. @override
  23. Future<void> jumpFloatingWindowSetting() async {
  24. await methodChannel.invokeMethod('jumpFloatingWindowSetting');
  25. }
  26. @override
  27. Future<bool> hasFloatingWindowPermission() async {
  28. return await methodChannel.invokeMethod('hasFloatingWindowPermission') ??
  29. false;
  30. }
  31. @override
  32. Future<void> openInputMethodSettings() async {
  33. await methodChannel.invokeMethod('openInputMethodSettings');
  34. }
  35. @override
  36. Future<bool> isTargetKeyboardEnabled() async {
  37. return await methodChannel.invokeMethod<bool>('isTargetKeyboardEnabled') ??
  38. false;
  39. }
  40. // /// 获取键映射
  41. // @override
  42. // Future<List<Map<String, String>>> getKeyMappings() async {
  43. // final List<dynamic> mappings =
  44. // await methodChannel.invokeMethod<List<dynamic>>('getKeyMappings') ?? [];
  45. // return mappings.map<Map<String, String>>((dynamic item) {
  46. // final map = item as Map<dynamic, dynamic>;
  47. // return map.map<String, String>(
  48. // (key, value) => MapEntry(key.toString(), value.toString()),
  49. // );
  50. // }).toList();
  51. // }
  52. //
  53. // /// 设置键映射
  54. // @override
  55. // Future<bool> setKeyMappings(List<Map<String, String>> mappings) async {
  56. // return await methodChannel.invokeMethod('setKeyMappings', {
  57. // 'mappings': mappings,
  58. // });
  59. // }
  60. //
  61. // /// 通过方法名获取动态文本
  62. // @override
  63. // Future<String?> getDynamicText(String method) async {
  64. // return await methodChannel.invokeMethod('getDynamicText', {
  65. // 'method': method,
  66. // });
  67. // }
  68. }