clipboard_data_handler.dart
782 Bytes
import 'package:appframe/services/dispatcher.dart' as dispatcher;
import 'package:flutter/services.dart';
class SetClipboardDataHandler extends dispatcher.MessageHandler {
@override
Future<dynamic> handleMessage(dynamic params) async {
if (params is! String) {
throw Exception('参数错误');
}
try {
await Clipboard.setData(ClipboardData(text: params));
return true;
} catch (e) {
throw Exception(e.toString());
}
}
}
class GetClipboardDataHandler extends dispatcher.MessageHandler {
@override
Future<dynamic> handleMessage(dynamic params) async {
try {
ClipboardData? data = await Clipboard.getData('text/plain');
return data?.text ?? '';
} catch (e) {
throw Exception(e.toString());
}
}
}