【问题标题】:How do I check if a device is an emulator or a physical device?如何检查设备是模拟器还是物理设备?
【发布时间】:2020-04-28 09:22:43
【问题描述】:

我想知道是否有任何方法可以确定设备是模拟器还是物理设备。

我不希望我的应用安装在模拟器上。

【问题讨论】:

    标签: flutter


    【解决方案1】:

    您可以使用flutter_is_emulator 来识别模拟器或模拟器。

    bool isAnEmulator = await FlutterIsEmulator.isDeviceAnEmulatorOrASimulator;
    

    为了使其工作,您需要先将应用安装到模拟器/模拟器。

    你也可以使用另一个流行的 Flutter 包 device_info 来做到这一点。

    DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
    AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
    print('Is emulator: ${androidInfo.isPhysicalDevice}');
    
    IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
    print('Is simulator: ${iosInfo.isPhysicalDevice}'); 
    

    【讨论】:

    • 哇。没想到这么快的回复。我认为这将关闭或否决。我将尝试为这个问题提供详细的答案。感谢您理解问题。投票赞成。
    • @Ironic 欢迎您,同时检查更新的答案。我又添加了一个插件
    • 谢谢@Midhun 我相信它也会帮助其他人。这是一般情况。
    • 我早上提出了一个问题。如果你有时间看看。 stackoverflow.com/questions/61472420/…
    • 我在DeviceInfo插件中没有找到isPhysicalDevice。
    【解决方案2】:

    使用trust_fall

    trust_fall 有以下检查:

    在 iOS/Android 上检查设备是否越狱?

    bool isJailBroken = await TrustFall.isJailBroken;
    

    检查设备是真实的还是模拟器

    bool isRealDevice = await TrustFall.isRealDevice;
    

    这个设备可以模拟位置吗?不需要root!

    bool canMockLocation = await TrustFall.canMockLocation;
    

    (仅限安卓)检查应用程序是否在外部存储上运行

    bool isOnExternalStorage = 等待 TrustFall.isOnExternalStorage; 检查设备是否违反上述任何一项

    bool isTrustFall = await TrustFall.isTrustFall;
    

    【讨论】:

    • 感谢您的回答。我会尽力让你知道。投票赞成。
    • 信任下降给出了一些运行时错误。看起来与 Flutter 最新版本不兼容。
    • 我在 GitHub 上查看了这个问题,发现问题在那里存在很长时间。我的建议是暂时不要使用这个插件。
    【解决方案3】:

    今天将device_info_plus获取信息

        DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
        AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
        print('Is emulator: ${androidInfo.isPhysicalDevice}');
        
        IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
        print('Is simulator: ${iosInfo.isPhysicalDevice}');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-09
      • 2018-07-04
      • 1970-01-01
      • 2016-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多