如何确定颤动是否在模拟器中运行

时间:2018-04-16 20:50:36

标签: flutter

是否有调用来确定颤动是否在模拟器或物理设备中运行?

我正在扫描二维码,想要绕过,因为相机不可用。

我希望在platform.dart [1]中找到这个,但它不存在。

[1] https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/foundation/platform.dart

我想我可以创建一个插件,如果我真的需要,我希望它已经存在。

5 个答案:

答案 0 :(得分:3)

使用device info插件,您可以获得有关您正在运行的设备的各种信息,包括' isPhysicalDevice'对于Android和iOS(虽然你必须独立阅读它们)。

答案 1 :(得分:3)

2021 更新

它现在是 Flutter Community Plus (https://plus.fluttercommunity.dev/) 的一部分

设备信息加文档:https://plus.fluttercommunity.dev/docs/device_info_plus/overview

例如:

DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
if(Platform.isIOS){
  var iosInfo = await deviceInfo.iosInfo;
  if(iosInfo.isPhysicalDevice){...}
}

最好,

答案 2 :(得分:2)

没有。 但是你可以做的是使用不同的配置(例如开发配置)。

为此,您可以使用其他main.dart,例如main.dev.dart,然后使用flutter run -t lib/main.dev.dart

运行它

答案 3 :(得分:0)

我正在使用 https://pub.dev/packages/flutter_is_emulator

import 'package:flutter_is_emulator/flutter_is_emulator.dart';
....
bool isAnEmulator = await FlutterIsEmulator.isDeviceAnEmulatorOrASimulator;

答案 4 :(得分:0)

我知道我有点晚了,但如果其他人来这里,这可以帮助他们。 你可以只使用这个包: https://pub.dev/packages/safe_device

在您的 Pubspec.yaml 文件中添加最新版本 然后导入:

import 'package:safe_device/safe_device.dart';

然后您可以检查设备是否为模拟器:

bool isRealDevice = await SafeDevice.isRealDevice;