如何快速获得设备 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插件时 我收到错误消息:
此版本中的多个项目都有项目
答案 0 :(得分:0)
Apple不再允许您检索IMEI或任何其他设备标识符:
答案 1 :(得分:0)
将此插件添加到https://pub.dartlang.org/packages/imei_plugin中
将此添加到您程序包的pubspec.yaml文件中:
dependencies:
imei_plugin: ^1.0.0
与酒吧
一起使用:$ 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)
我正在寻找设备序列号。
以下插件帮了我大忙:
修改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