Flutter 无法从剪贴板读取

Jos*_*aba 5 clipboard asynchronous future dart flutter

我来问一个关于 Flutter 和 Future 的非常具体的问题,并且等待机制似乎有效,但是我的剪贴板在使用我的可编辑文本字段时并没有真正起作用,即使遵循谷歌关于实施的建议......

这是我的粘贴代码:

onPressed: () async {
  await getMyData('text');
  _encodingController.text = clipData;
  Scaffold.of(context).showSnackBar(
    new SnackBar(
      content: new Text(
        "Pasted from Clipboard"),
      ),
    );
},
Run Code Online (Sandbox Code Playgroud)

什么不起作用是我的粘贴功能......在调试以下函数的结果时为空,wth?????????

static Future<ClipboardData> getMyData(String format) async {
    final Map<String, dynamic> result =
        await SystemChannels.platform.invokeMethod(
      'Clipboard.getData',
      format,
    );

    if (result == null) {
      return null;
    } else {
      clipData = ClipboardData(text: result['text']).text;
      return ClipboardData(text: result['text'].text);
    }
  }
Run Code Online (Sandbox Code Playgroud)

我可能正在使用期货和异步等待错误,希望得到一些指导!!!使用剪贴板管理器插件进行复制!非常感谢!

noa*_*hai 20

您可以简单地将 Flutter 现有的库代码重新用于getData剪贴板。

ClipboardData data = await Clipboard.getData('text/plain');
Run Code Online (Sandbox Code Playgroud)


小智 0

这对我有用:

  _getFromClipboard() async {
    Map<String, dynamic> result =
        await SystemChannels.platform.invokeMethod('Clipboard.getData');
    if (result != null) {
      return result['text'].toString();
    }
    return '';
  }
Run Code Online (Sandbox Code Playgroud)