簡體   English   中英

如何在Android和IOS的混亂中獲取設備ID

[英]How to get Device Id in flutter of both Android and IOS

有沒有一種方法可以獲取android和ios的設備ID ,因為當我使用device_info插件為android進行設備標識時,它說的是:

MissingPluginException(在通道plugins.flutter.io/device_info上未找到方法getAndroidDeviceInfo的實現)

事實證明,您實際上並不需要軟件包來獲取設備信息的所有功能都在名為flutter.io的flutter類內。

您只需將以下代碼作為導入即可使用它:

import 'dart:io' show Platform;

然后執行特定於平台的代碼,您可以使用:

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

device_id插件現在也可以在iPhone上正常工作。

他們修復的錯誤,並且也更新到Swift 4.1.x

要檢索ID,只需導入( import 'package:device_id/device_id.dart'; )並調用

String device_id = await DeviceId.getID;

您可以在此處查看更改日志

讓我通過device_info插件對此進行解釋。

步驟1新增相依性

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();
    }
  },
)

希望對您有所幫助。

  1. 如下所示在pubspec.yaml中添加版本,然后單擊“獲取依賴項”。
    device_id: ^0.2.0

  2. 添加進口聲明
    import 'package:device_id/device_id.dart';

  3. 並打電話
    String device_id = await DeviceId.getID;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM