| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- import 'package:flutter/foundation.dart';
- import 'package:flutter/services.dart';
- import 'keyboard_android_platform_interface.dart';
- /// An implementation of [KeyboardAndroidPlatform] that uses method channels.
- class MethodChannelKeyboardAndroid extends KeyboardAndroidPlatform {
- /// The method channel used to interact with the native platform.
- @visibleForTesting
- final methodChannel = const MethodChannel('keyboard_android');
- @override
- Future<String?> getPlatformVersion() async {
- final version = await methodChannel.invokeMethod<String>(
- 'getPlatformVersion',
- );
- return version;
- }
- @override
- Future<void> initPlugin() async {
- await methodChannel.invokeMethod('initPlugin');
- }
- @override
- Future<void> enableFloatingWindow(bool enable) async {
- await methodChannel.invokeMethod('enableFloatingWindow', {
- 'enable': enable,
- });
- }
- @override
- Future<void> jumpFloatingWindowSetting() async {
- await methodChannel.invokeMethod('jumpFloatingWindowSetting');
- }
- @override
- Future<bool> hasFloatingWindowPermission() async {
- return await methodChannel.invokeMethod('hasFloatingWindowPermission') ??
- false;
- }
- @override
- Future<void> openInputMethodSettings() async {
- await methodChannel.invokeMethod('openInputMethodSettings');
- }
- @override
- Future<bool> isTargetKeyboardEnabled() async {
- return await methodChannel.invokeMethod<bool>('isTargetKeyboardEnabled') ??
- false;
- }
- @override
- Future<bool> isDefaultKeyboard() async {
- return await methodChannel.invokeMethod<bool>('isDefaultKeyboard') ?? false;
- }
- @override
- void updateKeyboardInfo(String keyboardInfoJson) {
- methodChannel.invokeMethod('updateKeyboardInfo', keyboardInfoJson);
- }
- // /// 获取键映射
- // @override
- // Future<List<Map<String, String>>> getKeyMappings() async {
- // final List<dynamic> mappings =
- // await methodChannel.invokeMethod<List<dynamic>>('getKeyMappings') ?? [];
- // return mappings.map<Map<String, String>>((dynamic item) {
- // final map = item as Map<dynamic, dynamic>;
- // return map.map<String, String>(
- // (key, value) => MapEntry(key.toString(), value.toString()),
- // );
- // }).toList();
- // }
- //
- // /// 设置键映射
- // @override
- // Future<bool> setKeyMappings(List<Map<String, String>> mappings) async {
- // return await methodChannel.invokeMethod('setKeyMappings', {
- // 'mappings': mappings,
- // });
- // }
- //
- // /// 通过方法名获取动态文本
- // @override
- // Future<String?> getDynamicText(String method) async {
- // return await methodChannel.invokeMethod('getDynamicText', {
- // 'method': method,
- // });
- // }
- }
|