import 'package:flutter/foundation.dart'; bool checkPlatform(List<TargetPlatform> platforms, {bool web = false}) { if (web && kIsWeb) { return true; } return platforms.contains(defaultTargetPlatform); } /// This platform runs on a "traditional" computer bool checkPlatformIsDesktop() { return checkPlatform([TargetPlatform.linux, TargetPlatform.windows, TargetPlatform.macOS]); } /// This platform supports tray /// On linux, this is currently not supported bool checkPlatformHasTray() { return checkPlatform([TargetPlatform.windows, TargetPlatform.macOS]); } /// This platform can receive share intents bool checkPlatformCanReceiveShareIntent() { return checkPlatform([TargetPlatform.android, TargetPlatform.iOS]); } /// This platform has a gallery bool checkPlatformWithGallery() { return checkPlatform([TargetPlatform.android, TargetPlatform.iOS]); } /// This platform has access to file system /// On android, do not allow to change bool checkPlatformWithFileSystem() { return checkPlatform([TargetPlatform.linux, TargetPlatform.windows, TargetPlatform.android, TargetPlatform.macOS]); }
TargetPlatform 类型
enum TargetPlatform { /// Android: <https://www.android.com/> android, /// Fuchsia: <https://fuchsia.dev/fuchsia-src/concepts> fuchsia, /// iOS: <https://www.apple.com/ios/> iOS, /// Linux: <https://www.linux.org> linux, /// macOS: <https://www.apple.com/macos> macOS, /// Windows: <https://www.windows.com> windows, }
- defaultTargetPlatform 是 foundation 包下的export 出来的值