Flutter:我能知道我在哪个平台吗?

Phi*_*ipp 4 flutter flutter-web

我正在开发一个项目,该项目既可以作为应用程序也可以作为网页使用。我正在使用 flutter_secure_storage 来存储应用程序的本地数据,但我需要一种不同的网络方法。有没有办法可以在运行时找出我所在的平台,并相应地选择正确的读写函数?

Oma*_*oud 9

您可以将此扩展文件添加到项目中并调用任何对象

\n

目标.dart

\n
import 'dart:io';\nimport 'package:flutter/foundation.dart' show kIsWeb;\n\nextension Target on Object {\n  bool isAndroid() {\n    return Platform.isAndroid;\n  } \n  bool isIOS() {\n    return Platform.isIOS;\n  } \n  bool isLinux() {\n  return Platform.isLinux;\n  } \n  bool isWindows() {\n  return Platform.isWindows; \n  }\n  bool isMacOS() {\n  return Platform.isMacOS; \n  }\n  bool isWeb() {\n  return kIsWeb; \n  }\n  // \xc2\xb7\xc2\xb7\xc2\xb7\n}\n
Run Code Online (Sandbox Code Playgroud)\n

并将其导入到任何地方并像这样使用它

\n
@override\n  Widget build(BuildContext context) {\n    return isAndroid()? Text("Android"):Text("Not Android");\n  }\n
Run Code Online (Sandbox Code Playgroud)\n