使设备IMEI陷入混乱

时间:2018-10-28 11:02:57

标签: dart flutter

如何快速获得设备 IMEI 我正在尝试使用以下插件来获取唯一标识符:

uuid_type: ^0.7.0-dev
uuid: ^1.0.3
unique_identifier: ^0.0.3
flutter_udid: ^0.0.3 

他们都获得ID,但设备的IMEI ID不同

,当我尝试使用本示例DeviceInfoPlugin 中的device_info插件时 我收到错误消息:

此版本中的多个项目都有项目

5 个答案:

答案 0 :(得分:0)

Apple不再允许您检索IMEI或任何其他设备标识符:

https://stackoverflow.com/a/19927376/2461957

答案 1 :(得分:0)

将此插件添加到https://pub.dartlang.org/packages/imei_plugin

将此添加到您程序包的pubspec.yaml文件中:

dependencies:
  imei_plugin: ^1.0.0
  1. 安装 您可以从命令行安装软件包:

与酒吧

一起使用:
$ pub get

使用Flutter:

$ flutter packages get

答案 2 :(得分:0)

获取唯一标识符的最佳方法...

在Android中:使用unique_identifier获取IMEI

dev_dependencies:
  unique_identifier: ^0.0.3

  String  identifier =await UniqueIdentifier.serial;

在IOS中:Apple不再允许您检索IMEI或任何其他设备标识,但可以生成UDID起诉:

import 'package:device_info/device_info.dart';

final DeviceInfoPlugin deviceInfoPlugin = new DeviceInfoPlugin();
      var data = await deviceInfoPlugin.iosInfo;
      identifier = data.identifierForVendor;

答案 3 :(得分:0)

我正在寻找设备序列号。

以下插件帮了我大忙:

android_multiple_identifier

修改pubspec.yaml:

dependencies:
    android_multiple_identifier: ^1.0.3

向AndroidManifest.xml添加权限:

位置-> android / app / src / main / AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.my_app_name">

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

创建一个类并访问信息:

import 'package:android_multiple_identifier/android_multiple_identifier.dart';

class DeviceInfo {

    Future<String> getDeviceSerialNumber() async {
        // Ask user permission
        await AndroidMultipleIdentifier.requestPermission();
        // Get device information async
        Map idMap = await AndroidMultipleIdentifier.idMap;

        String imei = idMap["imei"];
        String serial = idMap["serial"];
        String androidID = idMap["androidId"];

        return imei;
      }
}

答案 4 :(得分:0)

Android不再允许您访问IMEI或从 android 10 开始的任何其他设备标识符。第三方应用程序不能使用IMEI和电话序列号以及其他不可重置的设备标识符。因此,现在您无法访问

getSerial(),

getImei(),

getDeviceId(),

getSimSerialNumber(),

getSubscriberId()

您必须为此使用另一个唯一标识符,例如Android ID

请参考:https://developer.android.com/preview/privacy/data-identifiers#device-ids