Flutter中的设备ID:device_info_plus包请求androidId时返回null

Deo*_*ima 13 dart flutter deviceid

我是一名新的 Flutter 开发人员,我即将开发一个需要使用设备 id 的 Flutter 应用程序,因此我决定使用该device_info_plus包来 get androidId,但是当我请求设备信息以获取androidId其中时,它会返回,null并且还会返回甚至不存在于toMap()对象中。我不知道到底发生了什么,但我浏览的所有文档都说这个包可以给我设备 ID。

这是函数

Future<Object?> getId() async {
    var deviceInfo = DeviceInfoPlugin();
    if (Platform.isIOS) { // import 'dart:io'
      var iosDeviceInfo = await deviceInfo.iosInfo;
      return iosDeviceInfo.identifierForVendor; // unique ID on iOS
    } else if(Platform.isAndroid) {
      var androidDeviceInfo = await deviceInfo.androidInfo;
      print(androidDeviceInfo.androidId);
      return androidDeviceInfo.androidId; // unique ID on Android
    }
    return false;
  }
Run Code Online (Sandbox Code Playgroud)

小智 14

androidId该功能已从 4.0.0 版本中删除。您可以从此处的变更日志中看到它。

如果您想获取androidId,您需要降级 pubspec.yaml 中的 device_info_plus

device_info_plus: 3.2.4

PS Github 上有一个问题,你可以投票。可能会返回此功能。