Flutter Web 平台检测

6

我正在寻找一种方法来检测我的Flutter Web项目运行在哪个平台(iOS或Android)上。当我使用if (Platform.isIOS) { //do something }时,我遇到以下错误:

Error: Unsupported operation: Platform._operatingSystem
at Object.throw_ [as throw] (http://localhost:44159/dart_sdk.js:4334:11)
at Function._operatingSystem (http://localhost:44159/dart_sdk.js:55064:17)
at Function.get operatingSystem [as operatingSystem] (http://localhost:44159/dart_sdk.js:55110:27)
at get _operatingSystem (http://localhost:44159/dart_sdk.js:55023:27)
at Function.desc.get [as _operatingSystem] (http://localhost:44159/dart_sdk.js:4819:15)
at get isIOS (http://localhost:44159/dart_sdk.js:55047:26)
at Function.desc.get [as isIOS] (http://localhost:44159/dart_sdk.js:4819:15)
at http://localhost:44159/packages/itoll/main.dart.lib.js:364:33
at wrapper (http://localhost:44159/dart_sdk.js:59904:30)
at http://localhost:44159/:70:11123

有办法吗?

谢谢。

3个回答

2
尝试按照以下方式操作:
import 'package:flutter/foundation.dart' show kIsWeb;

if (kIsWeb) {
  //do something
}

这个回答如何解决问题?楼主不是在寻找它是否在网络上,而是在哪个操作系统中。 - António Quadrado

0
import 'package:flutter/foundation.dart';

if (defaultTargetPlatform == TargetPlatform.android) {
  //current platform is Android
} else if(defaultTargetPlatform == TargetPlatform.macOS){
  //current platform is macOS
}...

0
import 'package:flutter/foundation.dart' show kIsWeb;
    
if (kIsWeb) {
    // https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgentData
}

对于下一个有与Antonio/OP相同问题的人。(我想评论但是没有足够的积分)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接