【问题标题】:How to get Device Id in flutter of both Android and IOS如何在 Android 和 IOS 中获取设备 ID
【发布时间】:2019-01-25 12:24:56
【问题描述】:

有没有办法为 android 和 ios 获取 device id,因为当我使用 device_info 插件为 android 执行此操作时,它会说:

MissingPluginException(没有找到方法的实现 getAndroidDeviceInfo on channel plugins.flutter.io/device_info)

【问题讨论】:

标签: android ios flutter


【解决方案1】:

事实证明,您实际上并不需要一个包来获取设备信息的所有功能都在一个名为 flutter.io 的颤振类中。

您可以简单地使用这行代码作为导入来访问它:

import 'dart:io' show Platform;

然后执行平台特定的代码,你可以使用:

     if (Platform.iOS)
 {//your code} 
else if (Platform.Android)
{//your other code}

【讨论】:

    【解决方案2】:

    device_id 插件现在也可以在 iPhone 上正常使用。

    他们修复的错误,也更新到了 swift 4.1.x

    要检索 id,只需导入 (import 'package:device_id/device_id.dart';) 并调用

    String device_id = await DeviceId.getID;

    您可以查看更改日志here

    【讨论】:

      【解决方案3】:

      让我通过 device_info 插件来解释一下。

      第一步添加依赖

      dependencies:
        flutter:
          sdk: flutter
        device_info: ^0.4.0+1
      

      第 2 步在开始时导入您的文件

        import 'package:device_info/device_info.dart';
      

      第 3 步创建一个异步函数以返回设备 ID。

      deviceInfo() async{
        DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
        AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
        return androidInfo.id;
      }
      

      第 4 步创建一个 FutureBuilder() 以显示设备 ID 或执行任何操作。

      FutureBuilder(
        future: deviceInfo(),
        builder: (BuildContext context, AsyncSnapshot snap){
          // do nothing...
          if (snap.hasData){
            //your logic goes here.
          }else {
            return new CircularProgressIndicator();
          }
        },
      )
      

      希望对你有帮助。

      【讨论】:

      • 已知有时为空,它被记录为“可以在恢复出厂设置时更改”。使用风险自负,并且可以在有根手机上轻松更改。
      【解决方案4】:
      1. 在 pubspec.yaml 中添加版本,如下所示,然后单击获取依赖项。
        device_id: ^0.2.0

      2. 添加导入语句
        import 'package:device_id/device_id.dart';

      3. 并致电
        String device_id = await DeviceId.getID;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-13
        • 2020-06-15
        • 2017-09-07
        • 1970-01-01
        相关资源
        最近更新 更多